Token导航 LogoToken导航TokenDH.com
Freelytics MCP logo
数据服务未说明官方级别未说明来源级核验

Freelytics MCP

MCP Server

一个基于FastAPI的后端服务,用于将Freeletics与自定义ChatGPT GPTs集成,实现用户数据查询和自动化管理。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
自动化管理PostgreSQLChatGPT集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

roberwild

提供方

roberwild

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🏋️ Freeletics MCP - GPT Integration Backend

Backend FastAPI para integrar Freeletics con GPTs personalizados de ChatGPT.

🎯 Arquitectura

Usuario → GPT personalizado → Actions (API REST) → Este Backend → freeletics-python → API Freeletics

🚀 Características

  • ✅ Autenticación con API Key (una sola vez)
  • ✅ Credenciales encriptadas en PostgreSQL
  • ✅ Auto-deploy con GitHub Actions
  • ✅ Schema OpenAPI automático para GPTs
  • ✅ HTTPS con certificados SSL

📦 Stack Tecnológico

  • Backend: FastAPI + Python 3
  • Base de Datos: PostgreSQL
  • Encriptación: Fernet (cryptography)
  • Cliente Freeletics: freeletics-python
  • Server: Uvicorn + PM2
  • Proxy: Nginx + Certbot (SSL)

🔧 Setup Local

1. Clonar el repositorio

git clone https://github.com/roberwild/freelytics-mcp.git
cd freelytics-mcp

2. Crear entorno virtual e instalar dependencias

Linux/Mac:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Windows (PowerShell):

python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt

Windows (CMD):

python -m venv venv
venv\Scripts\activate.bat
pip install -r requirements.txt
⚠️ Importante: La librería freeletics-python requiere Python >= 3.8 y < 3.12. Si tienes Python 3.12+, instala Python 3.11 desde python.org

3. Generar encryption key

python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

4. Configurar variables de entorno

cp .env.sample .env
# Editar .env con tus valores reales

5. Iniciar base de datos PostgreSQL

# Crear base de datos
createdb freelytics

# O con psql:
psql -U postgres
CREATE DATABASE freelytics;

6. Ejecutar el servidor

uvicorn main:app --reload --port 3001

El servidor estará disponible en http://localhost:3001

📡 Endpoints

GET /

Health check básico

GET /health

Estado del servicio

POST /register

Registra un nuevo usuario y devuelve API key

Request:

{
  "freeletics_username": "tu_usuario",
  "freeletics_password": "tu_password"
}

Response:

{
  "api_key": "flt_abc123...",
  "message": "Registration successful. Save this API key for your GPT."
}

GET /profile

Obtiene el perfil del usuario (requiere API key)

GET /workouts

Obtiene los entrenamientos del usuario (requiere API key)

GET /stats

Obtiene estadísticas del usuario (requiere API key)

DELETE /unregister

Elimina la cuenta del usuario (requiere API key)

🤖 Configurar GPT en ChatGPT

1. Registrar tu usuario

curl -X POST https://freelytics-rober.duckdns.org/register \
  -H "Content-Type: application/json" \
  -d '{
    "freeletics_username": "tu_usuario",
    "freeletics_password": "tu_password"
  }'

IMPORTANTE: Guarda el API key devuelto

2. Obtener OpenAPI Schema

Visita: https://freelytics-rober.duckdns.org/openapi.json

3. Crear GPT en ChatGPT

  1. Ve a ChatGPT → Create a GPT
  2. ConfigureActions
  3. Click Import from URL
  4. Pega: https://freelytics-rober.duckdns.org/openapi.json
  5. AuthenticationAPI Key

- Auth Type: Custom - Header Name: X-API-Key - API Key: flt_abc123... (el que guardaste)

4. Instructions del GPT

Eres FreeFit AI, un asistente personal de fitness que ayuda al usuario a gestionar y entender sus entrenamientos de Freeletics.

CAPACIDADES:
- Consultar el perfil del usuario
- Ver historial de entrenamientos
- Mostrar estadísticas y progreso
- Dar recomendaciones basadas en los datos

COMPORTAMIENTO:
- Habla de forma cercana y motivadora
- Cuando el usuario pregunte por sus entrenamientos, usa la acción getWorkouts
- Cuando pregunte por su progreso o estadísticas, usa getStats
- Presenta los datos de forma clara y visual cuando sea posible
- Si hay un error de autenticación, indica al usuario que debe configurar su API key

FORMATO:
- Usa emojis con moderación 💪
- Presenta tablas cuando muestres datos comparativos
- Resume los datos largos, no los vuelques en bruto

PRIMER USO:
Si el usuario no ha configurado su API key, explícale:
1. Ir a https://freelytics-rober.duckdns.org/register
2. Introducir sus credenciales de Freeletics
3. Copiar el API key generado
4. Volver aquí y cuando se le pida, pegar el API key

🐳 Deploy en Raspberry Pi

Ver guía completa en FREELETICS_SETUP_GUIDE.md

Resumen rápido:

# 1. Instalar PostgreSQL
sudo apt install postgresql postgresql-contrib -y

# 2. Crear base de datos
sudo -u postgres psql
CREATE DATABASE freelytics;

# 3. Clonar proyecto
git clone https://github.com/roberwild/freelytics-mcp.git
cd freelytics-mcp

# 4. Configurar entorno virtual
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# 5. Configurar ecosystem.config.cjs con valores reales

# 6. Iniciar con PM2
pm2 start ecosystem.config.cjs
pm2 save

🌐 Deploy en Railway/Render

Railway

  1. Fork este repo
  2. Nuevo proyecto en Railway → Import from GitHub
  3. Añadir PostgreSQL addon
  4. Configurar variables de entorno:

- DB_HOST - DB_NAME - DB_USER - DB_PASSWORD - ENCRYPTION_KEY

  1. Deploy automático al hacer push

Render

  1. Fork este repo
  2. New Web Service → Connect repository
  3. Runtime: Python 3
  4. Build: pip install -r requirements.txt
  5. Start: uvicorn main:app --host 0.0.0.0 --port $PORT
  6. Añadir PostgreSQL service
  7. Configurar variables de entorno

🔒 Seguridad

  • Las credenciales de Freeletics se encriptan con Fernet antes de guardarse
  • Cada usuario recibe un API key único de un solo uso
  • Las credenciales nunca se exponen en las respuestas
  • HTTPS obligatorio para GPT Actions

📝 Notas Importantes

  • ⚠️ La API de Freeletics es no oficial (reverse-engineered)
  • ⚠️ Los tokens pueden expirar - el cliente maneja el refresh automáticamente
  • ⚠️ Freeletics podría cambiar su API en cualquier momento

🤝 Contribuir

Pull requests son bienvenidos. Para cambios mayores, abre un issue primero.

📄 Licencia

MIT

🔗 Enlaces

  • Librería freeletics-python: https://github.com/mkb79/freeletics-python
  • FastAPI Docs: https://fastapi.tiangolo.com
  • OpenAI GPT Actions: https://platform.openai.com/docs/actions

Hecho con 💪 para conectar Freeletics con ChatGPT

freelytics-mcp

目录标签

目录标签

自动化管理PostgreSQLChatGPT集成健身数据集成Python本地部署FastAPI后端

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP