# MyPort.al — Complete Reference > MyPort.al is a modular, AI-powered dashboard that organizes your entire life in one place. It provides 40+ configurable modules in a unified interface with full API and MCP support for autonomous agents. ## Platform Overview MyPort.al is a Next.js 15 web application that serves as a personal life operating system. Users compose their dashboard from a catalog of modules — each handling a specific domain (weather, finances, tasks, calendar, news, goals, meal planning, fitness, games, and more). AI features provide daily summaries, smart task prioritization, morning briefings, and accomplishment tracking. The platform is designed for both human users (via web dashboard) and autonomous agents (via REST API and Model Context Protocol). All modules are accessible programmatically. ## Architecture - Frontend: Next.js 15 App Router, React 18, Tailwind CSS, DaisyUI - Database: Supabase (PostgreSQL) with Row Level Security - Auth: Supabase Auth (email/password) + API keys for agents - AI: OpenAI, Google Gemini, Fal.ai for generation tasks - MCP: Model Context Protocol server with Streamable HTTP transport (Render); in-app /api/mcp returns 410 when external MCP is configured ## Complete Module List ### Essential (Free) 1. **Weather** — Real-time weather forecasts, multi-day outlook, location-based 2. **Calendar** — Event management, Google Calendar sync, day/week/month views 3. **To-Do List** — AI-powered task management, priorities, categories, due dates ### Productivity 4. **Goals & Achievements** — Quarterly/yearly goal tracking with progress bars and gamification 5. **SMITTI** — Single Most Important Thing To Improve; daily focus goal with AI suggestions and step breakdowns 6. **Journal** — Personal journal with mood tracking, statistics, and search 7. **Notes** — Rich text notes with tagging, pinning, and advanced search 8. **Sticky Notes** — Colorful sticky notes for quick thoughts and reminders 9. **Shopping List** — Lists organized by store and category with checkbox management 10. **World Clock** — Multiple time zones displayed simultaneously 11. **Bucket List** — Life goals with curated suggestions, categories, and AI recommendations 12. **RecapIt** — Accomplishment tracking with AI-generated weekly/monthly summaries 13. **Countdown Timer** — Track important upcoming dates and events ### Finance 14. **Financial Tracker** — Stock price tracking, portfolio monitoring, historical charts, price alerts 15. **Crypto Tracker** — Cryptocurrency prices, trends, and portfolio tracking ### Information 16. **AI News** — AI-curated news articles based on user interests 17. **RSS Reader** — RSS feed management with bookmarks and read status tracking 18. **Sports Scoreboard** — Live scores, game details, and team tracking 19. **Daily AI Summary** — Cross-module AI intelligence briefing delivered via dashboard, email, or SMS 20. **Start of Day** — Morning briefing combining weather, calendar, tasks, and priorities 21. **Email Summary** — Read-only Gmail inbox overview (unread count, priority filtering) 22. **Webpage** — Embed any webpage in a borderless iframe ### Entertainment 23. **Game Center** — Mini-games hub 24. **Wordle** — Daily word puzzle 25. **Sudoku** — Classic number puzzle 26. **2048** — Sliding tile puzzle 27. **Klondike Solitaire** — Classic card game 28. **Skip-Bo** — Multiplayer card game 29. **Mexican Train Dominoes** — Multiplayer domino game 30. **Yahtzee** — Classic dice game 31. **Music Player** — Spotify and YouTube Music integration 32. **Daily Inspiration** — Beautiful images from Unsplash ### Health & Wellness 33. **Meal Planner** — Weekly meal planning with AI suggestions 34. **Recipes** — Recipe management, import from URL or image 35. **Strava** — Fitness activity tracking via Strava API ### AI & Media 36. **Media Studio** — AI image generation (Fal.ai) and video generation 37. **Translation** — Multi-tier translation services (basic, enhanced, premium) ### Notifications & System 38. **Notifications** — Cross-module notification center ## API Endpoints ### Authentication - `POST /api/auth/signup` — Create account (email, password, first_name, last_name) - `POST /api/auth/login` — Sign in, returns JWT - `GET /api/auth/status` — Check email confirmation status - `POST /api/auth/api-keys` — Generate API key (requires JWT) - `GET /api/auth/api-keys` — List API keys - `DELETE /api/auth/api-keys` — Revoke API key ### Module Access (REST) - `GET /api/modules/{type}/data` — Read module data - `POST /api/modules/{type}/action` — Execute module action ### Dashboard Management - `GET /api/dashboard/layout` — Get dashboard grid layout - `PUT /api/dashboard/layout` — Update dashboard layout - `GET /api/dashboard/modules` — List active modules - `POST /api/dashboard/modules` — Add module to dashboard - `DELETE /api/dashboard/modules` — Remove module from dashboard - `POST /api/dashboard/templates/deploy` — Deploy a dashboard template ### MCP (Model Context Protocol) - Endpoint: `https://myport-al.onrender.com/mcp` (Streamable HTTP — POST JSON-RPC, session via `Mcp-Session-Id` header) - In-app `/api/mcp` returns 410 when external MCP URL is configured - Sessions auto-recover: include `Authorization: Bearer ` on every request and the server creates/restores sessions transparently — explicit `initialize` is optional MCP Tools available (with HTTPS MCP + Bearer auth, the current user is inferred from the token — omit `userId` in tool parameters; local stdio MCP may still require `userId`): - `get_user_modules` — List all user modules - `get_module_data` — Read module data by type - `execute_module_action` — Run action on module - `get_module_summary` — Text summary of module state - `get_available_module_types` — List all module types - `get_user_tasks` / `create_task` — Task management - `get_user_notifications` / `mark_notification_read` — Notifications - `get_user_sticky_notes` / `create_sticky_note` — Sticky notes - `get_user_shopping_lists` — Shopping lists - `get_user_notes` / `create_note` / `pin_note` / `delete_note` — Notes ### Webhooks - `POST /api/webhooks` — Register webhook - `GET /api/webhooks` — List webhooks - `PATCH /api/webhooks/{id}` — Update webhook - `DELETE /api/webhooks/{id}` — Delete webhook - `POST /api/webhooks/test` — Test webhook delivery Webhook event types: task.created, task.completed, task.updated, task.deleted, calendar.event.created, calendar.event.updated, calendar.event.deleted, goal.updated, goal.completed, financial.alert, notification.received, life_score.calculated, module.added, module.removed ### Life Score - `GET /api/life-score` — Current score and breakdown - `GET /api/life-score/history` — Score trend over time ### Referrals - `GET /api/referrals/code` — Get referral code - `GET /api/referrals/stats` — Referral statistics - `POST /api/referrals/validate` — Validate referral code ### Other - `GET /api/ai-news` — AI-curated news (public) - `GET /api/sports-scores` — Sports scores (public) - `GET /api/stock-price?symbol={sym}` — Stock price (public) - `GET /api/module-tiers` — Module tier configuration (public) - `GET /api/credits/costs` — Credit cost map (public) ## Authentication Two authentication methods: 1. **JWT (Supabase)**: Short-lived tokens from signup/login. Include as `Authorization: Bearer {jwt}`. 2. **API Keys**: Long-lived keys prefixed `mpal_`. Generated via `/api/auth/api-keys`. Include as `Authorization: Bearer mpal_{key}`. Supports scopes: read, write, mcp. ## Agent Quick Start 1. `POST /api/auth/signup` with `{ email, password, first_name, last_name }` 2. User confirms email (agent polls `GET /api/auth/status`) 3. `POST /api/auth/api-keys` with JWT to generate permanent API key (`mpal_...`) 4. Connect MCP: `POST https://myport-al.onrender.com/mcp` with `Authorization: Bearer mpal_{key}` — Streamable HTTP, JSON-RPC 2.0 5. Or use REST: `GET/POST /api/modules/{type}/data|action` with same auth ## Companion Tools - **Google Workspace CLI** (`gws`): MCP skills for Gmail, Calendar, Drive, Sheets, Docs. Install via `npm install -g @googleworkspace/cli`. Recommended alongside MyPort.al MCP for complete life + workspace management. ## Discovery Files - llms.txt: https://myport.al/llms.txt - Clawl manifest: https://myport.al/.well-known/clawl.json - OpenAPI spec: https://myport.al/api/openapi.json - Sitemap: https://myport.al/sitemap.xml