OpenAthlete

org.openathlete由 openathlete.org 發布官方發布者v1.3.0更新於 Nov 3, 2026

耐力訓練:將活動、負荷、區間和訓練傳送至 Garmin、COROS 和 Suunto 手錶

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Endurance training: activities, load, zones, and workouts sent to Garmin, COROS and Suunto watches

已驗證Streamable HTTP可網頁執行

概覽

OpenAthlete 的託管 MCP 服務(api.openathlete.org),由 openathlete.org 發布;需要 OAuth 登入;Streamable HTTP。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

發布者
openathlete.org
端點
api.openathlete.org
最近檢查

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 OpenAthlete,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/org.openathlete%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "openathlete": {
      "type": "http",
      "url": "https://api.openathlete.org/mcp"
    }
  }
}

README

[OpenAthlete: serious endurance training, without the subscription]

Serious endurance training. Without the subscription.

The open-source training platform for runners, trail runners, triathletes, cyclists and their coaches.
Plan your season, send structured workouts to your watch, see what every session did to your fitness.

Create a free account »

Website · Documentation · Self-hosting · Discord · API

[GitHub stars] [License] [Latest release] [Commits per month] [iOS on TestFlight] [Discord] [Buy Me a Coffee]

Why OpenAthlete

Training platforms keep years of your data, charge coaches per athlete, and can be bought or shut down. Today's Plan closed in 2024; TrainingPeaks has belonged to Garmin since July 2026.

OpenAthlete is free on our servers in France and free on yours. The code is public under AGPL-3.0, the training-load formulas are in this repository, and you can export everything at any time. It is built by an independent developer and ultra runner in Grenoble, with no investors.

What it does

[Training calendar on desktop and phone]

Plan. A calendar that thinks in seasons, weeks and sessions: training blocks, A/B/C races, illness and travel periods that move the sessions they cover, whole weeks copied or shifted with undo, and a calendar feed for Google, Apple or Outlook.

Build and sync. Structured workouts with targets from your own zones (pace, power, heart rate, % of VMA or FTP), a reusable library, and delivery to Garmin, COROS and Suunto watches at the next sync.

[Activity analysis with the AI read of the session]

Analyse. Activities from Garmin, COROS, Suunto, Polar and Strava, or FIT, GPX and TCX files. Each interval graded against the plan, detected climbs, time in zones, aerobic decoupling, pace adjusted for gradient and weather, and non-destructive fixes for heart-rate spikes.

[Records and recovery metrics]

Progress. Records by distance and duration, year against year; critical speed and power; fitness, fatigue and form (CTL, ATL, TSB) from heart rate or perceived effort, projected over your planned sessions; HRV, resting heart rate and sleep from your watch. Every metric says what it measures and where it stops being reliable.

[Coach dashboard and coach–athlete messages]

Coach. Compliance, volume and form for every athlete on one screen, alerts for reported pain, inactivity and unread messages, planning for several athletes at once, comments and real-time chat. Five athletes free, unlimited with Supporter.

AI, on your terms. Generate or edit a session from a sentence, get a short read of each activity and three questions on how it felt. Bring your own key (OpenAI, Anthropic, Google, Mistral, OpenRouter, DeepSeek, xAI, Groq, or a local model when self-hosted), pick the model per feature, or use the allowance included with Supporter. Nothing reaches an AI provider until you allow it. An MCP server lets Claude, ChatGPT or Cursor read your training and plan sessions straight into your calendar.

Mobile. The web app is built for phones and installs on the home screen. iOS and Android apps are in testing (TestFlight).

How it compares

OpenAthleteTrainingPeaksintervals.icuStrava
Open source, self-hostable✅ AGPL-3.0❌❌❌
Planned workouts sent to the watch✅ Free (Garmin, COROS, Suunto)Premium only✅❌
Fitness / fatigue / form✅ Formulas in the code✅✅Subscription
AIYour key, or included with Supporter; MCP server—Connector (Supporter)—
Coaching5 athletes free, unlimited €50/yrFrom $21.99/mo + per-athlete feesSupporter—
Athlete priceFree (Supporter €5/mo or €50/yr, optional)$19.95/mo or $134.99/yrFree ($4/mo Supporter)€59.99/yr

Prices from each vendor's pricing page, checked on 3 November 2026 (USD before tax). Detailed, sourced comparisons: openathlete.org/compare.

Built with

React 19 and Vite (web, with Capacitor for iOS and Android), NestJS 11 with BullMQ jobs and Mastra agents (API), Prisma and PostgreSQL with pgvector, Redis, Next.js (website), Paraglide (5 languages), Tailwind CSS.

Getting Started

To get a local copy up and running, please follow these simple steps.

Prerequisites

Here is what you need to be able to run OpenAthlete.

  • Node.js (Version: >=22.14.0) - We recommend using nvm for version management
  • pnpm (Version: >=9.x) - Fast, disk space efficient package manager
  • PostgreSQL (Version: >=13.x) - Database
  • Git - Version control

If you want to enable AI features, you may need to obtain API credentials. More details can be found in the documentation.

Development

Setup

sh
git clone https://github.com/openathleteorg/openathlete.gitcd openathletenvm use && pnpm install
# PostgreSQL (with pgvector) and Redisdocker compose -f docker-compose.dev.yml up -d
# Environment files, then edit them if neededfor f in apps/api apps/web libs/database; do cp $f/.env.example $f/.env; done
# Prisma client, shared package, databasepnpm database run db:generate && pnpm shared build && pnpm database run db:deploy
pnpm dev   # API on http://localhost:3000, web app on http://localhost:5173

Run the same checks as CI with scripts/verify.sh (add --integration, --build or --e2e for the slower suites).

Development Tips

  1. Run type checking before committing:

    sh
    pnpm tsc:check
  2. Format and lint your code:

    sh
    pnpm format:writepnpm lint:fix

Upgrading from earlier versions

  1. Pull the current version:

    sh
    git pull
  2. Check if dependencies got added/updated/removed

    sh
    pnpm install
  3. Apply database migrations by running one of the following commands:

    In a development environment, run:

    sh
    pnpm database run db:migrate dev

    In a production environment, run:

    sh
    pnpm database run db:deploy
  4. Check for .env variables changes

    Compare your .env files with the .env.example files to see if new variables were added.

  5. Start the server. In a development environment, just do:

    sh
    pnpm dev

    For a production build, run for example:

    sh
    pnpm buildpnpm start
  6. Enjoy the new version.

Deployment

Self-hosting with Docker

On any server with Docker and its Compose plugin:

bash
curl -fsSL https://raw.githubusercontent.com/openathleteorg/openathlete/main/scripts/install.sh | sh

OpenAthlete then runs on http://localhost from the published images, with new random secrets in openathlete/.env. Add -s -- --domain openathlete.example.org to serve your domain over HTTPS with automatic certificates. Run the script again to update.

The self-hosting guide covers HTTPS, device sync, AI, backups and upgrades from older setups.

Manual Deployment

For detailed deployment instructions, see our self-hosting documentation.

Backend (NestJS)
  1. Build the application:

    bash
    cd apps/apipnpm installpnpm build
  2. Set up environment variables in .env

  3. Run database migrations:

    bash
    pnpm database run db:deploy
  4. Start the server:

    bash
    pnpm start:prod
Frontend (React + Vite)
  1. Build the application:

    bash
    cd apps/webpnpm installpnpm build
  2. Serve the built files using a web server (nginx, Apache, etc.)

    Example nginx configuration:

    nginx
    server {    listen 80;    server_name your-domain.com;
        root /path/to/apps/web/dist;    index index.html;
        location / {        try_files $uri $uri/ /index.html;    }}

Environment Variables

Backend Required Variables
properties
DATABASE_URL="postgresql://user:password@host:5432/openathlete"REDIS_URL="redis://host:6379"JWT_SECRET_KEY="generate with: openssl rand -base64 32"HASH_PEPPER="generate with: openssl rand -base64 32"NODE_ENV="production"
Frontend Required Variables
properties
VITE_API_BASE_URL="https://api.your-domain.com"

For a complete list of environment variables, see the .env.example files in each app directory.

Support OpenAthlete

OpenAthlete is built by one developer in Grenoble, supported by the community. There are three ways to help the project thrive:

  • Become a Supporter on openathlete.org: €5/month or €50/year. It pays for the servers and adds AI on our keys and unlimited coached athletes.
  • Buy a coffee: one-off support, even if you self-host. buymeacoffee.com/openathlete.
  • Contribute: star the repo, open issues, send pull requests, translate, or join the Discord.

Self-hosting is fully supported and always free, with no limits. Supporters fund the project's long-term sustainability.

Roadmap

OpenAthlete is actively developed. Here's what's coming next:

  • 🧩 Modular Training Logic - Custom goals, coach import, and flexible training methodologies
  • 📈 Enhanced Dashboards - Intuitive data visualizations and performance analytics
  • 🔗 More Integrations - Wahoo, Zwift, Oura, and more
  • 👥 Clubs - Club accounts with several coaches and groups
  • 📱 Native apps - iOS and Android apps in the stores

See our GitHub Issues for a detailed list of proposed features and known issues.

License

Distributed under the AGPLv3 License. See LICENSE for more information.

Contributing

Please see our contributing guide.

Good First Issues

We have a list of good first issues that contain small features and bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.

Help Wanted

We also have help wanted issues that are perfect for contributors looking to make a bigger impact.

Contributors

[圖片]

Translations

Don't code but still want to contribute? Join our Discord community and help translate OpenAthlete into your language.

Repo Activity

[圖片]

Acknowledgements

Special thanks to these amazing projects which help power OpenAthlete:


Made with ❤️ by athletes, for athletes

If you self-host OpenAthlete, a coffee helps keep it maintained.

來源:README.md,提交 60362db

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.3.0最新Nov 3, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Openathlete 整合