moo-tasks
A simple multiuser multiboard task MCP server managed via kanban board interface. Created to allow simple self hosted agent task management.
Install / Use
claude mcp add dizlexic -- npx -y github:dizlexic/moo-tasksIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of moo-tasks
moo-tasks scores 87/100 on our quality scale, 1645th of 2,877 Automation skills we index.
Its MCP Server is 17 KB long, well organised into 29 sections with 8 code examples: a thorough specification that gives an agent plenty to work with.
It has 45 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 5 days ago, so moo-tasks is actively maintained.
- Our last check on 2026-10-21 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
moo-tasks compared with similar skills
All 4 of these similar skills score higher than moo-tasks; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| moo-tasks (this skill)by dizlexic | 87 | 45 | 5d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.5k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 98.7k | today | MCP Server |
Frequently asked questions
- How do I install moo-tasks?
- Run
claude mcp add dizlexic -- npx -y github:dizlexic/moo-tasks. The install tabs above show the steps for each supported agent. - Which AI agents does moo-tasks work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is moo-tasks safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is moo-tasks still maintained?
- The repository was last updated 5 days ago, so moo-tasks is actively maintained.
Skill content
View source on GitHub✨ Features
| | Feature | Description |
|---|---|---|
| 👤 | User Accounts | Email/password registration and login with sealed cookie sessions |
| ⚙️ | Account Settings | Manage global MCP tokens and user account information |
| 📋 | Multiple Boards | Create and manage multiple project boards with custom descriptions |
| 📋 | Task Plans | Create, manage, and apply task templates/plans to project boards |
| 💾 | Import/Export | Import and export boards as JSON |
| 👥 | Board Collaboration | Invite users by email, manage member roles (Owner/Member) |
| 🔄 | 5-Column Kanban | Workflow stages: Backlog → To Do → In Progress → Review → Done |
| 🔢 | Sequential Task IDs | Tasks have human-readable sequential IDs (e.g., #1, #2) per board |
| 🔀 | Dual View Modes | Toggle between visual Kanban Board and condensed Task List |
| 🖱️ | Drag & Drop | Intuitive task movement between columns using vuedraggable |
| 🔧 | Correction Tasks | Request specific fixes with linked child tasks for task refinement |
| 🤖 | MCP Server | Per-board MCP endpoints with bearer token auth & Public/Private toggles |
| 📝 | Configurable Instructions | Global and per-board MCP instructions with "Reset to Default" support |
| 📝 | Changelog Generation | AI-powered generation of markdown changelogs from completed tasks |
| 🔗 | Task Deep-Linking | Copy unique task URLs for direct navigation and easy sharing |
| ⚡ | Real-time Polling | Automatic board sync to keep human and AI agent actions in sync |
| 🗄️ | MySQL Persistence | Reliable data storage with Drizzle ORM |
Screenshots
<p align="center"> <img src="https://raw.githubusercontent.com/dizlexic/moo-tasks/refs/heads/main/public/Task Board.png" alt="Moo Tasks Workflow" width="700" /> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dizlexic/moo-tasks/refs/heads/main/public/MCP Server Guide.png" alt="Moo Tasks Workflow" width="700" /> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dizlexic/moo-tasks/refs/heads/main/public/Comments.png" alt="Moo Tasks Workflow" width="700" /> </p>💾 Board Management
- Import Board: Available on the Dashboard page.
- Export Board: Available in the Board Settings panel.
🚀 Quick Start
The fastest way to get started with Moo Tasks is using Docker.
🐳 Running with Docker (Recommended)
If you have Docker installed, you can start the entire stack (including the database, Adminer, and Mailpit) with one command. First create a .env file from .env.example and set NUXT_SESSION_PASSWORD (at least 32 characters long). Then run:
docker-compose up -d
or
docker compose up -d
The application will be available at http://localhost:3000.
🛠️ Manual Development Setup
If you prefer to run locally without Docker:
- Prerequisites: Ensure you have Mysql 8, Node.js (v22+) and npm installed.
- Install dependencies:
npm install - Environment Variables: Create a
.envfile from.env.exampleand setNUXT_SESSION_PASSWORD(at least 32 characters long). - Start development server:
npm run dev
📖 Usage Guide
Get up and running in just a few minutes:
- Launch: Once the server is running, navigate to
http://localhost:3000(or the live site at mootasks.dev). - Account: Register your account at
/registeror login. - Create Board: Head to the Dashboard to create your first project board.
- Manage Tasks: Add, move, and update tasks on your new board using the drag-and-drop Kanban view or the list view.
- Connect AI: Go to Board Settings to view your MCP configuration and connect your favorite AI agent (e.g., Claude Code, Cursor, VS Code).
- Seed Data: Need test data? Run
npx tsx server/db/seed.tsto populate the database with sample tasks.
⚙️ Environment Variables
Copy .env.example to .env and adjust as needed:
| Variable | Default | Description |
|----------|---------|-------------|
| HOST | 0.0.0.0 | Server bind address |
| PORT | 3000 | Server port |
| DB_USER | mootasks | MySQL user |
| DB_PASSWORD | mootasks | MySQL password |
| DB_NAME | mootasks | MySQL database name |
| DB_PORT | 3307 | MySQL local port mapping |
| DATABASE_URL | (required if not using Docker) | MySQL connection string |
| NUXT_SESSION_PASSWORD | (required) | 32+ char secret for sealed cookie sessions |
🤖 MCP Server
Moo Tasks is primarily an MCP server and Agent API. While it provides a web interface for humans, its core purpose is to enable AI agents to manage tasks programmatically.
🎯 Board-Scoped Architecture
Everything in Moo Tasks is scoped to a board. There are no global queries for tasks. This ensures that agents only work within the context they are assigned to, improving focus and security.
- Each board has its own unique MCP endpoint.
- AI agents connect to a specific board to work on its tasks.
- Resources, prompts, and tools are all scoped to the active board.
📋 Working with Tasks via MCP
The board acts as the primary task list for this application. To programmatically work on tasks:
- Get the MCP Token: In the Board Settings, generate an MCP token if the board is private.
- Configure Your Agent: Add the MCP server configuration for your specific board.
- Use Tools: Use the available tools (
list-tasks,accept-task,update-task-status, etc.) to interact with the tasks.
🔐 Security & Privacy
| Mode | Description |
|------|-------------|
| 🔒 Private (Default) | Requires a Bearer Token via the token query parameter |
| 🌐 Public | Allows access without a token (for local development) |
Tokens can be generated, rotated, or revoked at any time from Board Settings.
🛠️ Tools
| Tool | Description |
|------|-------------|
| list-tasks | List tasks with optional status/priority/limit filters |
| get-task | Get full details of a task by ID |
| create-task | Create a new task |
| update-task-status | Update a task's status |
| accept-task | Assign yourself to a task and move it to in_progress |
| reject-task | Reject a task review and move it back to todo |
| add-comment | Post progress notes or questions on a task |
| submit-for-review | Mark a task ready for human review |
| request-corrections | Create a linked correction task |
| generate-changelog | Generate a markdown changelog from completed tasks |
| list-plans | Discover available task plans/templates |
| apply-plan | Apply a task plan to the board |
| create-board | Create a new board (requires account token) |
| get-installation-instructions | Get setup instructions |
📚 Resources
| URI | Description |
|-----|-------------|
| moo-tasks://<boardId>/board-state | Full board snapshot grouped by status |
| moo-tasks://<boardId>/agent-instructions | Workflow instructions for agents |
💬 Prompts
| Prompt | Description |
|--------|-------------|
| task-workflow | Guided workflow for discovering and completing tasks |
🔄 Task Hierarchy & Corrections
Moo Tasks supports a refined workflow for task completion:
- Review Status — Move tasks to "Review" when ready for human verification
- Request Corrections — From "Review" or "Done", create linked "Correction Tasks"
- Linked Navigation — Correction tasks link to their parent for easy navigation
Configurable Instructions
| Level | Description |
|-------|-------------|
| 🌍 Global | Edit at /settings/instructions, applies to all boards by default |
| 📋 Per-Board | Override in board settings, falls back to global when reset |
Both support reset to default to restore the original built-in instructions.
🔌 MCP Client Configuration
<details> <summary><strong>Claude Code</strong></summary>{
"mcpServers": {
"moo-tasks": {
"type": "streamable-http",
"url": "http://localhost:3000/api/boards/<boardId>/mcp",
"headers": {
"Authorization": "Bearer <your-bearer-token>"
}
}
}
}
</details>
<details>
<summary><strong>Cursor</strong></summary>
Add to .cursor/mcp.json:
{
"mcpServers": {
"moo-tasks": {
"type": "streamable-http",
"url": "http://localhost:3000/api/boards/<boardId>/mcp",
"headers": {
"Authorization": "Bearer <your-bearer-token>"
}
}
}
}
</details>
<details>
<summary><strong>VS Code / JetBrains / generic MCP client</strong></summary>
Add to your client's MCP config (e.g. .vscode/mcp.json or JetBrains MCP settings):
{
"mcpServers": {
"moo-tasks": {
"type": "streamable-http",
"url": "http://localhost:3000/api/boards/<boardId>/mcp",
"headers": {
"Authorization": "Bearer <your-bearer-token>"
}
}
}
}
💡 The board page has a 📋 Copy JSON button that emits this exact snippet pre-filled with your board ID and token.
🔐 Security & Scoping
- Each MCP endpoint is scoped to a single board (
/api/boards/<boardId>/mcp). The server only ever sees tasks, comments, and instructions belonging to that one board. - Tokens are sent via the standard
Authorization: Bearer <token>HTTP header per the MCP authorization spec. Query-string tokens are no longer accepted. - Generate or revoke a board's token from the board settings drawer at any time. Revoking immediately invalidates all existing agent connections.
- Boards may also be marked
mcpPublicin settings for read-friendly demos; in that mode no token is required, but it is not recommended for real work.
📡 API Routes
<details> <summary><strong>Authentication</strong></summary>| Method | Route | Purpose |
|--------|-------|---------|
| POST | /api/auth/register | Register with email/password |
| POST | /api/auth/login | Login with email/password |
| Method | Route | Purpose |
|--------|-------|---------|
| GET | /api/boards | List boards for current user |
| POST | /api/boards | Create a n
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
109.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
98.7k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
