TaskView
Self-hosted project and task management platform for software teams, with Kanban boards, sprints, time tracking, GitHub/GitLab integrations, and an MCP server for AI assistants.
Repository Health
Technical Analysis
TaskView is a source-available, self-hostable project and task management platform aimed at software teams that want more structure than a plain Kanban board but not the administrative overhead of a large enterprise PM suite. It combines task and subtask hierarchies, custom Kanban workflows, sprints, a task dependency graph, and time tracking with team collaboration features like organizations, granular permissions, and real-time updates.
What sets it apart from most self-hosted project trackers is its developer- and AI-first integration surface: signed webhooks, a public HTTP API, a generated TypeScript API client, GitHub/GitLab integrations, and a dedicated MCP server (taskview-mcp, published to npm) that lets Claude Code, Claude Desktop, Cursor, and other MCP clients create and manage tasks directly through a scoped API token.
The stack is a Vue 3 + Nuxt UI web client (also packaged for iOS and Android via Capacitor) talking to an Express/TypeScript API backed by PostgreSQL through Drizzle ORM, organized as a pnpm monorepo. Identity and access management goes well beyond a typical open-source task tracker — SAML 2.0, OpenID Connect, and SCIM provisioning are built in alongside scoped API tokens and project-level access restrictions.
TaskView is distributed under a source-available license, not an OSI-approved open-source license: self-hosting, internal use, and modification are permitted, but offering it as a managed/SaaS service to third parties or building a competing commercial product from it is explicitly prohibited without a separate commercial license.
What You Get
- A pnpm monorepo with a Vue 3 + Nuxt UI web client, an Express/TypeScript API, shared Drizzle ORM schemas, and Capacitor-packaged iOS/Android apps
- Custom Kanban boards, task/subtask hierarchies, sprints, recurring tasks, and a task dependency graph
- Built-in time tracking with billable/non-billable hours, workload reports, and income/expense tracking
- Enterprise-grade identity and access management: SAML 2.0, OpenID Connect, SCIM provisioning, and scoped API tokens
- GitHub and GitLab integrations plus signed webhooks and a generated TypeScript API client for custom integrations
- A published MCP server (
taskview-mcp) so AI assistants like Claude Code and Claude Desktop can create, update, and query tasks via a scoped API token
Common Use Cases
- Software teams that want a self-hosted, Jira/Linear-style tracker without vendor lock-in or per-seat SaaS pricing
- Agencies running internal and client projects who need project-level access restrictions and organization-level user management
- Teams that want to let AI coding agents read and update their project board directly through MCP
- Organizations that require SSO/SCIM (SAML, OIDC) for compliance reasons that most open-source task trackers don’t offer
- Developers who want task management wired into their existing GitHub/GitLab workflow via webhooks and API tokens
Under The Hood
Architecture
The backend (api/) is an Express application (api/src/App.ts) organized around a tv-modules/ directory where each business domain — auth, billing, sso, scim, webhooks, integrations, kanban, sprints, time-tracking, graph, realtime, messaging, oauth — owns its own folder, alongside a smaller core/ layer providing cross-cutting primitives (an EventBus/Dispatcher pair, a JobQueue, a CentrifugoClient for realtime updates, and all-events.ts which registers event handlers and background workers at startup). Startup validation is explicit: LoginMethods, PublicApiUrl, InviteEmailDispatcher, and the webhooks module each expose a validateOnStartup() called from the App constructor before routes are wired up. The web client (web/) is a Vue 3 SPA with Pinia-style stores per domain (kanban, goals, sprints, integrations, invoices, collaboration-permissions, etc.) and is also built for iOS/Android through Capacitor, so the same codebase change can affect three deployment targets — a real risk point if the shared taskview-db-schemas or taskview-api packages change shape.
Tech Stack
The project is a pnpm workspace monorepo (web, api, taskview-packages/*) versioned together at 1.55.0. The API runs on Bun in development and Node in production, is built with Vite, and uses Express, Passport (GitHub/Google/Apple/SAML strategies via @node-saml/node-saml), Drizzle ORM against PostgreSQL, arktype/drizzle-arktype for schema validation, and Biome for linting/formatting instead of ESLint/Prettier. The web client uses Vue 3, Nuxt UI, Vite, and Playwright for e2e tests. taskview-packages/ holds three published/shared packages: a TypeScript API client (taskview-api), shared Drizzle schemas (taskview-db-schemas), and the MCP server (taskview-mcp), which is published independently to npm and runs over stdio via npx.
Code Quality
The MCP package has a genuine test suite (Vitest, ~10 spec files covering tasks, lists, goals, tags, time-tracking, notifications, collaboration, and graph tools) with a shared setup.ts providing mock server/API helpers — a reasonably disciplined pattern for testing MCP tool registration and behavior in isolation. The web client has a Playwright e2e config and an e2e/ directory. The main API package, by contrast, has a vitest.config.ts and test script but no visible dedicated unit test directory at the root level beyond what ships with individual modules, and there’s no CI workflow running tests on push (the only GitHub Actions workflow present is a CLA bot). Both API and web use TypeScript throughout with strict-ish tooling (Biome for the API, ESLint for the web), and error handling in the API goes through a centralized errorHandler middleware that masks internal errors in production.
What Makes It Unique Most self-hosted project-management tools stop at Kanban boards and issue tracking; TaskView pairs that with an identity/access stack (SAML, OIDC, SCIM) that’s normally reserved for enterprise SaaS tools, and ships a first-class MCP server so AI coding agents can act on the same task graph a human team is using — not as a bolt-on chatbot, but as a scoped, tokenized API surface with its own dedicated npm package and test suite. Licensing-wise it’s also unusual for this directory: it’s source-available rather than OSI open-source, explicitly permitting self-hosting and internal modification while prohibiting resale as a managed service or use in a competing commercial product.
Self-Hosting
Licensing Model TaskView is distributed under the TaskView Source-Available License (not an OSI-approved open-source license). Self-hosting, internal use by employees/contractors, and modification are permitted; offering the software as a managed/SaaS service to third parties, or building a competing commercial project/task-management product from it, is explicitly prohibited without a separate commercial license from the copyright holder.
Self-Hosting Restrictions
- No feature gating was found in the codebase (no license-key checks,
isPro/isEnterpriseflags) — the self-hosted deployment ships the same feature set described in the README, including SAML/OIDC/SCIM. - The restriction is on the business model, not features: you may not host TaskView for other organizations as a paid or free managed service, and may not resell or sublicense it as a product.
Enterprise Features All documented features (SSO via SAML 2.0/OIDC, SCIM provisioning, scoped API tokens, GitHub/GitLab integrations, webhooks, time tracking and financial reporting) are available in the self-hosted deployment — there is no separate paid self-hosted tier described in the repository.
Cloud vs Self-Hosted TaskView also offers a hosted “TaskView Cloud” (app.taskview.tech) for teams that don’t want to self-host, but the README does not describe it as having a different feature set from the self-hosted version.
License Key Required No. No license-key mechanism was found in the source; the restrictions are contractual (license terms), not technically enforced.
Related Apps
AutoGPT
Automation · Productivity · AI Assistants
Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.
Dify
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
Stirling PDF
Productivity · Digital Signiture
The open-source PDF platform you can run anywhere — edit, convert, sign, and automate PDFs without sending files to external servers.