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
Two-layer task system β AI pre-generates a task pool; daily allocation runs instantly from the DB (no LLM latency)
Dynamic replan β triggers automatically when skip rate is high, you're breezing through optional tasks, or your task pool runs low
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 replan completion to the UI instantly
Background daemon β
node-crondaily check + cross-platform notifications (macOS / Windows / Linux) even when you haven't opened the app
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 + node-notifier (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)
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.
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 add packages/skill/SKILL.md as a skill (or paste it 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 |
| 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 task template pool (7β14 days of tasks) during planning sessions. The server allocates daily tasks from this pool using a rule engine β no LLM call needed, so the UI loads instantly.
Event-driven Replan
The server monitors four signals and marks replan_pending = true when triggered:
Signal | Threshold |
Skip rate | >50% over last 3 days |
Optional completion rate | >80% over last 3 days (too easy) |
Task pool size | <3 days remaining |
Assessment change | New assessment recorded |
The AI checks mq_get_replan_status() at the start of each conversation and regenerates the plan if needed.
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
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