# igpsport-mcp

Сервер связывает профиль iGPSport с ассистентом, чтобы разбирать заезды на велосипеде и считать показатели нагрузки. Пригодится для проверки формы и подготовки планов тренировок.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Автор: dengxuhui
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/dengxuhui/igpsport-mcp
- Обновлён: 2026-06-30
- HTML: https://affpapa.org/nevibecode/mcp/igpsport-mcp

## Что делает

Проект подключается к аккаунту iGPSport через эмуляцию веб-клиента. Данные передаются в чат через локальный stdio. Все показатели нагрузки сервер рассчитывает сам перед отдачей в модель. Клиент сразу видит нормализованную мощность NP, стресс TSS, усталость ATL и форму TSB вместо сырых телеметрических треков.

Для запуска нужен инструмент `uv`. Ставить Python отдельно не нужно: пакетный менеджер сам настроит окружение. Авторизацию можно пройти интерактивно вызовом `igpsport-mcp --setup`, сохранив параметры в `config.json`. Учётные данные не уходят на сторонние серверы.

Без заданного значения FTP в профиле или переменной `IGPSPORT_FTP` сервер не сможет рассчитать TSS и баланс формы. Международная версия сервиса отключает работу с сегментами. Учитывайте риски неофициального API.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `IGPSPORT_USERNAME`, `IGPSPORT_PASSWORD`, `IGPSPORT_REGION`, `IGPSPORT_FTP`, `IGPSPORT_LTHR` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env IGPSPORT_USERNAME=<IGPSPORT_USERNAME> --env IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> --env IGPSPORT_REGION=<IGPSPORT_REGION> --env IGPSPORT_FTP=<IGPSPORT_FTP> --env IGPSPORT_LTHR=<IGPSPORT_LTHR> --transport stdio igpsport-mcp -- uvx igpsport-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from igpsport-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add igpsport-mcp --env IGPSPORT_USERNAME=<IGPSPORT_USERNAME> --env IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> --env IGPSPORT_REGION=<IGPSPORT_REGION> --env IGPSPORT_FTP=<IGPSPORT_FTP> --env IGPSPORT_LTHR=<IGPSPORT_LTHR> -- uvx igpsport-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from igpsport-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "igpsport-mcp": {
            "command": "uvx",
            "args": [
                "igpsport-mcp"
            ],
            "env": {
                "IGPSPORT_USERNAME": "<IGPSPORT_USERNAME>",
                "IGPSPORT_PASSWORD": "<IGPSPORT_PASSWORD>",
                "IGPSPORT_REGION": "<IGPSPORT_REGION>",
                "IGPSPORT_FTP": "<IGPSPORT_FTP>",
                "IGPSPORT_LTHR": "<IGPSPORT_LTHR>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from igpsport-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "igpsport-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "igpsport-mcp"
            ],
            "env": {
                "IGPSPORT_USERNAME": "<IGPSPORT_USERNAME>",
                "IGPSPORT_PASSWORD": "<IGPSPORT_PASSWORD>",
                "IGPSPORT_REGION": "<IGPSPORT_REGION>",
                "IGPSPORT_FTP": "<IGPSPORT_FTP>",
                "IGPSPORT_LTHR": "<IGPSPORT_LTHR>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from igpsport-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e IGPSPORT_USERNAME=<IGPSPORT_USERNAME> -e IGPSPORT_PASSWORD=<IGPSPORT_PASSWORD> -e IGPSPORT_REGION=<IGPSPORT_REGION> -e IGPSPORT_FTP=<IGPSPORT_FTP> -e IGPSPORT_LTHR=<IGPSPORT_LTHR> igpsport-mcp uvx igpsport-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from igpsport-mcp <команда>

## Когда брать
- Рассчитать тренировочную нагрузку CTL, ATL и TSB по заездам
- Сравнить два длинных заезда по мощности и пульсу
- Сгенерировать структуру интервальной тренировки под текущий FTP
- Проверить годовой пробег и личные рекорды на велосипеде

## Примеры запросов агенту
- Оцени динамику тренировочной нагрузки за последние 90 дней и подскажи, нужен ли отдых.
- Сравни две длинные тренировки: прошлые выходные против текущих.
- Построй интервальную тренировку 2x20 SST на основе моего FTP и подготовь для велокомпьютера.

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16730
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40459
- [dbx](https://affpapa.org/nevibecode/mcp/dbx.md) — MCP-сервер · ★ 27844
- [Metabase](https://affpapa.org/nevibecode/mcp/metabase.md) — MCP-сервер · ★ 49863

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
