QTask
QTask
Open-source task management with a built-in MCP server — connect Claude Desktop, Cursor, or any MCP client.
Works with: Claude Desktop · Cursor · Ollama (local agent)
Production: https://qtask.dev · MCP setup guide · User guide · Contribute on GitHub
MCP server — list, create, and update tasks and projects from Claude Desktop, Cursor, or other MCP clients
Staged writes — external AI proposes changes; you approve before they apply
Semantic search — find tasks by meaning, not just keywords
Self-hosted — your data stays on your infrastructure, with swappable AI backends (Ollama, MCP-compatible models)
Prerequisites
Node.js 20+
Docker (for MongoDB)
Ollama with tool-capable models:
ollama pull qwen3.5:2b
ollama pull nomic-embed-textIf upgrading an existing install, set OLLAMA_MODEL=qwen3.5:2b in .env and pull the model above.
Related MCP server: MCP Tasks
Quick start
docker compose up -d
cp .env.example .env
# Set JWT_SECRET in .env
# Optional: cp .env.local.example .env.local # secrets / overrides (gitignored)
npm install
npm install --prefix client
npm run dev:allWeb client: http://localhost:5173
Create an account on first visit. For local secrets (e.g. Resend API key), use .env.local — it overrides .env and is not committed. On the production server, put those values in .env instead (see docs/DEPLOY.md).
Documentation
Doc | Audience |
External AI clients — start here for Claude Desktop & Cursor (API keys, OAuth, staging) | |
End users — projects, tasks, agent, sharing | |
Product specification | |
Operators — local and production deployment |
In the web app, signed-in users can open Help from the account menu.
Scripts
Command | Description |
| Backend API only |
| React web client only |
| Backend + web client |
| MCP stdio server (local dev / Cursor) |
| Stdio bridge to hosted |
| Run integration tests |
| Build API |
| Start production API (serves web client) |
Authentication
Email/password accounts with JWT. All API routes except /health and /api/auth/* require Authorization: Bearer <token>.
MCP in Cursor
Log in via the web client, copy your JWT, and set MCP_JWT in your Cursor MCP config. See mcp-config.example.json.
For hosted qtask.dev, create an MCP API key in Account menu → External AI (MCP) and use npm run mcp:bridge. See docs/MCP.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn OAuth-authenticated MCP server that bridges Claude AI with a task management system, allowing users to list, create, and update tasks through natural language commands.1-
- AlicenseAqualityBmaintenanceA comprehensive and efficient Model Context Protocol server for task management that works with Claude, Cursor, and other MCP clients, providing powerful search, filtering, and organization capabilities across multiple file formats.5145 npm47MIT
- AlicenseAqualityAmaintenanceLocal-first task management with CLI, TUI, and REST API. MCP server enables Claude to manage tasks, track time, optimize schedules, and handle dependencies.26354MIT
- AlicenseAqualityBmaintenanceMCP server for a self-hostable personal planner — exposes memo, todo, calendar event, and cross-resource full-text search tools so Claude, Cursor, or any MCP client can manage your schedule and notes in natural language.181MIT