Mochi Quest
БесплатноНе проверенEnables AI agents to act as personal growth coaches, allowing users to set goals, receive personalized daily tasks, and track progress with dynamic replanning a
Описание
Enables AI agents to act as personal growth coaches, allowing users to set goals, receive personalized daily tasks, and track progress with dynamic replanning and reward systems.
README
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 flagging - Push notifications — server POSTs typed events to the agent's webhook URL (pre-filtered); agent uses Discord to ask the user questions or report results
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 install
Build
# Build server
cd packages/server && pnpm build
# Build web UI
cd packages/web && pnpm build
Run
# 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 --daemon
The web dashboard is available at http://localhost:3030.
Docker
docker compose up -d --build
The 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 |
|---|---|
mq_get_dashboard |
Full overview: goals, today's tasks, wallet, streaks, replan status |
mq_list_goals / mq_create_goal / mq_update_goal |
Goal management |
mq_get_plan / mq_generate_plan / mq_adjust_plan |
Plan management |
mq_get_today_tasks / mq_get_optional_tasks |
Fetch tasks |
mq_complete_task / mq_skip_task |
Report task status |
mq_get_wallet / mq_list_rewards / mq_redeem_reward |
Coin & reward system |
mq_add_assessment / mq_get_user_state |
Track progress assessments |
mq_get_streak / mq_get_streak_milestones |
Streak info |
mq_get_replan_status |
Check if AI action is needed (offline catch-up) |
mq_send_notification |
Send a message to configured Discord channel |
mq_register_webhook |
Register agent webhook URL for push events |
mq_get_settings / mq_update_settings |
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 specification
How 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 |
|---|---|---|
task_completed |
optional_completion_rate === 1.0 |
Ask user: plan too easy? Consider replan |
cycle_ended |
always | Replan immediately, notify user |
daily_check_ran |
any goal skip_rate_3d > 0.5 |
Ask user why; decide whether to replan |
assessment_recorded |
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 --daemon
The 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
Установка Mochi Quest
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ATaiIsHere/mochi-questFAQ
Mochi Quest MCP бесплатный?
Да, Mochi Quest MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Mochi Quest?
Нет, Mochi Quest работает без API-ключей и переменных окружения.
Mochi Quest — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Mochi Quest в Claude Desktop, Claude Code или Cursor?
Открой Mochi Quest на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Mochi Quest with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
