MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

A
Ai Powered Fitness App With MCP

MCP server by firasyazid

Created 10/30/2025
Updated about 14 hours ago
Repository documentation and setup instructions

AthleTech - AI-Powered Fitness Coaching App

AthleTech is a comprehensive fitness application that leverages AI to provide personalized workout plans and goal roadmaps based on user profiles and fitness objectives.

Project Structure

This is a monorepo containing two main components:

AthleTech/
├── AthleTech-front/    # React Native mobile app (Expo)
└── MCP-backend/        # FastAPI Python backend

Features

  • User Authentication: Secure JWT-based authentication system
  • Personalized Profiles: Detailed user profiles including fitness level, goals, and limitations
  • AI Workout Generation: Custom workout plans generated based on user data
  • Goal Roadmaps: AI-powered fitness goal planning and tracking
  • Cross-Platform: Works on iOS, Android, and Web

Tech Stack

Frontend

  • React Native with Expo
  • TypeScript
  • Expo Router (file-based routing)
  • Axios for API communication
  • AsyncStorage for local data persistence

Backend

  • FastAPI (Python)
  • MongoDB (Motor async driver)
  • JWT authentication
  • LLM integration for AI features
  • Pydantic for data validation

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Python 3.10+
  • MongoDB (local or remote instance)
  • Expo CLI

Backend Setup

  1. Navigate to the backend directory:
cd MCP-backend
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file (copy from .env.example):
cp .env.example .env
  1. Update the .env file with your configuration:
MONGO_URL=mongodb://localhost:27017
SECRET_KEY=your-secret-key-here
HOST=0.0.0.0
PORT=8000
CORS_ORIGINS=http://localhost:8081
  1. Start the server:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Frontend Setup

  1. Navigate to the frontend directory:
cd AthleTech-front
  1. Install dependencies:
npm install
  1. Create a .env file (copy from .env.example):
cp .env.example .env
  1. Update the .env file with your backend URL:
EXPO_PUBLIC_API_URL=http://192.168.100.32:8000

Note: Replace with your machine's IP address or use http://localhost:8000 for local development.

  1. Start the Expo development server:
npx expo start
  1. Run on your preferred platform:
    • Press i for iOS simulator
    • Press a for Android emulator
    • Scan QR code with Expo Go app for physical device

API Endpoints

Authentication

  • POST /auth/register - Register a new user
  • POST /auth/login - Login and receive JWT token

Workout

  • GET /workout/generate - Generate personalized workout plan (requires authentication)

Goal Roadmap

  • GET /goal-roadmap/generate - Generate fitness goal roadmap (requires authentication)

Environment Variables

Backend (MCP-backend/.env)

  • MONGO_URL: MongoDB connection string
  • SECRET_KEY: JWT secret key (use a strong random string)
  • HOST: Server host (default: 0.0.0.0)
  • PORT: Server port (default: 8000)
  • CORS_ORIGINS: Comma-separated list of allowed origins

Frontend (AthleTech-front/.env)

  • EXPO_PUBLIC_API_URL: Backend API base URL

Security Notes

  • Never commit .env files to version control
  • Use strong, randomly generated SECRET_KEY in production
  • Configure CORS properly for production environments
  • Use HTTPS in production

Development

Running Tests (Backend)

cd MCP-backend
pytest

Linting (Frontend)

cd AthleTech-front
npm run lint

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is private and proprietary.

Contact

For questions or support, please open an issue in the repository.

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-ai-powered-fitness-app-with-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "firasyazid-ai-powered-fitness-app-with-mcp": { "command": "npx", "args": [ "firasyazid-ai-powered-fitness-app-with-mcp" ] } } }