mochi-quest
Planned companion app for Apple Health to import health data, enabling AI coach to incorporate health metrics into growth plans.
Planned integration to sync language learning progress from Duolingo, enabling AI coach to track study streaks and adapt learning tasks.
Planned integration to sync fitness data from Fitbit, enabling AI coach to track physical activity and adjust goals based on real-time health metrics.
Planned integration to sync fitness data from Garmin devices, enabling AI coach to track physical activity and adjust goals based on real-time health metrics.
Planned integration to sync coding practice progress from LeetCode, enabling AI coach to track problem-solving streaks and adjust coding goals.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mochi-questShow me my today's tasks for weight loss"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mochi Quest π‘
An open-source, AI-powered personal growth coaching system.
Mochi Quest lets you describe your goals β lose weight, learn English, become a Googler β and an AI coach builds a personalized plan, assigns daily tasks, tracks your progress, and dynamically adjusts when things get too hard or too easy.
Agent-agnostic: works with Claude, GPT, Gemini, or any MCP-capable AI agent.
Features
Goal clarification β AI interviews you to understand your situation, constraints, and current level before building a plan
Cycle-based planning β AI plans a full cycle (7β14 days) with a per-day task menu; daily allocation runs instantly from the DB (no LLM latency)
Dynamic replan β triggers automatically at cycle end, when skip rate is high, or when all optional tasks are done (too easy)
Multi-goal balance β set a weight per goal; daily tasks are allocated proportionally within your daily limit
Coin + reward system β earn coins from tasks, redeem for self-defined rewards; AI adjusts pricing if a reward conflicts with your goals
Streak tracking β per-goal streaks + global streak (all goals done = global +1); milestone bonuses at 7/30/100/365 days
Web dashboard β local UI for checking off tasks, viewing plan roadmap, wallet, and streaks
Real-time updates β SSE pushes events to the UI instantly
Background daemon β
node-crondaily check at 4am (configurable): streak update, task allocation, cycle-end detection, replan flaggingPush notifications β server POSTs typed events to the agent's webhook URL (pre-filtered); agent uses Discord to ask the user questions or report results
Related MCP server: Coach AI
Architecture
ββββββββββββββββββββββββββββββββββββββββββββ
β AI Agent Layer β
β Claude / GPT / Gemini / any MCP agent β
β ββββββββββββββββββββββββββββββββββββ β
β β SKILL.md β β
β β coaching behavior & decisions β β
β ββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββ¬ββββββββββββββββββββββββ
β MCP (stdio)
ββββββββββββββββββββΌββββββββββββββββββββββββ
β MCP Server (Node.js) β
β Goals Β· Plans Β· Tasks Β· Wallet Β· Streaksβ
β βββββββββββββββββββββββββββββββββββββββ β
β β SQLite (~/.mochi-quest/data.db) β β
β βββββββββββββββββββββββββββββββββββββββ β
β REST API :3030 βββββ Web UI (React) β
β node-cron (4am daily check, daemon) β
ββββββββββββββββββββββββββββββββββββββββββββOne command (mochi-quest start) runs the MCP server, REST API, and scheduler together.
Quick Start
Prerequisites
Node.js 20+
pnpm 9+
An MCP-capable AI agent (Claude Code, Cursor, etc.)
Install
git clone https://github.com/YOUR_USERNAME/mochi-quest.git
cd mochi-quest
pnpm installBuild
# Build server
cd packages/server && pnpm build
# Build web UI
cd packages/web && pnpm buildRun
# Start everything (MCP + REST API + scheduler + built Web UI)
node packages/server/dist/index.js start
# Or as a background daemon
node packages/server/dist/index.js start --daemonThe web dashboard is available at http://localhost:3030.
Docker
docker compose up -d --buildThe Docker server stores SQLite data in the mochi_quest_data volume and serves the built Web UI, REST API, scheduler, and MCP entrypoint from one container.
Full deployment notes: docs/deployment.md.
Connect to your AI agent
Add the MCP server to your agent's config:
Claude Code (~/.claude/settings.json or project .mcp.json):
{
"mcpServers": {
"mochi-quest": {
"command": "node",
"args": ["/path/to/mochi-quest/packages/server/dist/index.js", "mcp"]
}
}
}Then install skills/mochi-quest/ as a skill (or paste the SKILL.md body into your system prompt).
MCP Tools
Tool | Description |
| Full overview: goals, today's tasks, wallet, streaks, replan status |
| Goal management |
| Plan management |
| Fetch tasks |
| Report task status |
| Coin & reward system |
| Track progress assessments |
| Streak info |
| Check if AI action is needed (offline catch-up) |
| Send a message to configured Discord channel |
| Register agent webhook URL for push events |
| Global settings |
Full tool reference: packages/skill/SKILL.md
Project Structure
mochi-quest/
βββ packages/
β βββ server/ # MCP Server + REST API (Node.js + TypeScript)
β β βββ src/
β β βββ db/ # SQLite schema & queries
β β βββ mcp/ # MCP tool implementations
β β βββ api/ # REST API routes (Hono)
β β βββ scheduler.ts # node-cron daily check + notifications
β βββ web/ # Web dashboard (React + Vite + Tailwind)
β β βββ src/
β β βββ pages/ # Dashboard, Goals, Tasks, Wallet, Settings
β β βββ components/
β β βββ hooks/ # useSSE for real-time updates
β β βββ lib/ # API client + types
β βββ skill/
β βββ SKILL.md # AI coaching behavior definition
βββ docs/
βββ spec.md # Full system specificationHow It Works
Planning vs Execution
The AI generates a cycle-based plan (7β14 days) during planning sessions β a day-by-day schedule where each day has specific tasks, plus an optional pool for the whole cycle. The server allocates daily tasks by day_in_cycle with no LLM call, so the UI loads instantly.
Event-driven Replan
Every meaningful state change emits a typed event through a unified pipeline:
emitEvent(type, data)
βββ writeLog() β DB audit log
βββ emitSseEvent() β Web UI badge (real-time)
βββ notifyAgentWebhook() β Agent HTTP endpoint (pre-filtered)The server pre-filters before pushing β the agent only receives actionable signals:
Event | Pushed to agent when⦠| Agent action |
|
| Ask user: plan too easy? Consider replan |
| always | Replan immediately, notify user |
| any goal | Ask user why; decide whether to replan |
| always | Review plan; replan if significantly changed |
The agent registers its webhook URL via mq_register_webhook or the settings page. As offline catch-up, mq_get_replan_status() at session start returns any pending replans from while the webhook was offline.
Multi-goal Task Allocation
Each goal has a daily_task_weight (1β5). Tasks are allocated proportionally:
weights = [3, 2, 1] β budget = 6 β tasks = [3, 2, 1]Adjust weights any time: "Focus more on English this week."
Data Storage
All data is stored locally in ~/.mochi-quest/data.db (SQLite). No cloud sync, no accounts.
Notifications (Daemon Mode)
node packages/server/dist/index.js start --daemonThe built-in scheduler runs a daily check at the configured notification time (default: 08:00) and sends a native OS notification when there are pending tasks.
macOS: Notification Center
Windows: Toast Notification
Linux: libnotify (
notify-send)
Roadmap
Integration adapters (Fitbit, Garmin, Duolingo, LeetCode)
Habitica sync (push tasks to Habitica, webhook completion back)
Server-driven replan (server calls LLM directly in daemon mode)
Apple Health companion app
Auto-start installer (
mochi-quest setup)
Contributing
Pull requests welcome. Please open an issue first to discuss larger changes.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ATaiIsHere/mochi-quest'
If you have feedback or need assistance with the MCP directory API, please join our Discord server