A
Ai Powered Fitness App With MCP
作者 @firasyazid
MCP server by firasyazid
创建于 10/30/2025
更新于 about 2 months ago
README
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
- Navigate to the backend directory:
cd MCP-backend
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.envfile (copy from.env.example):
cp .env.example .env
- Update the
.envfile 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
- Start the server:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Frontend Setup
- Navigate to the frontend directory:
cd AthleTech-front
- Install dependencies:
npm install
- Create a
.envfile (copy from.env.example):
cp .env.example .env
- Update the
.envfile 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.
- Start the Expo development server:
npx expo start
- Run on your preferred platform:
- Press
ifor iOS simulator - Press
afor Android emulator - Scan QR code with Expo Go app for physical device
- Press
API Endpoints
Authentication
POST /auth/register- Register a new userPOST /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 stringSECRET_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
.envfiles to version control - Use strong, randomly generated
SECRET_KEYin 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is private and proprietary.
Contact
For questions or support, please open an issue in the repository.
快速设置
此服务器的安装指南
安装包 (如果需要)
npx @modelcontextprotocol/server-ai-powered-fitness-app-with-mcp
Cursor 配置 (mcp.json)
{
"mcpServers": {
"firasyazid-ai-powered-fitness-app-with-mcp": {
"command": "npx",
"args": [
"firasyazid-ai-powered-fitness-app-with-mcp"
]
}
}
}