Skip to content
Open source · MIT · AI-native

The project tracker built for teams and their agents.

TaskNebula is the open-source, keyboard-first alternative to Jira and Linear. Boards, sprints, and docs that run on your own Postgres — with a built-in MCP server so AI agents work the backlog right beside your team. MIT licensed, self-host with one Docker Compose.

Board

A board you can actually move through.

Switch projects, drag issues between stages, and keep details close without fake motion or noisy chrome.

No tool-hopping between a tracker, a planning doc, and an agent console. The work moves through a single surface — humans and agents on the same timeline.

TaskNebula Board

Workspace preview

The flow

  1. Refine launch page hierarchy

    Backlog

  2. Plan the sprint in place

    To Do

  3. Build alongside agents

    MCP tools for agents

  4. Review approved

    In Review

  5. Ship and track the outcome

    Shipped

WEB-18
high

Refine launch page hierarchy

Tighten hero, simplify copy, and make the landing feel more premium.

In Review
Review approved
Members
SK
Transition rules
All subtasks complete

Checklist

  • Reduce copy density
  • Improve visual rhythm
  • Finalize CTA placement
Close issues with a real resolution, cut the version, and watch velocity and cycle time update live. Done means done — not a column you forgot to clear.
AI-native

Agents work the backlog with you.

TaskNebula was built for the agent era. Ask questions across your whole workspace, let AI triage and estimate new work, and give external agents real tools through a first-class MCP server.

  1. Ask your workspace

    The /api/ask RAG endpoint answers in natural language over your issues, docs, and comments — grounded in pgvector retrieval, with citations back to the source.

  2. AI triage & estimates

    Suggested priority, labels, and effort land on new issues — backed by real OpenAI and Anthropic calls, a cost guard, and tracing. You stay in control: accept or dismiss.

  3. MCP tools for agents

    @tasknebula/mcp-server exposes the backlog over MCP — HTTP at /api/mcp or stdio — so external agents create, search, and move issues with revocable keys.

Self-host

Your work. Your server. Your data.

Three containers and one command. Everything lives in your Postgres, exporting is a pg_dump away, and nothing phones home — no vendor lock-in by design.

  • One Postgres, one web image

    Postgres 16 with the pgvector extension powers search; Redis 7 is along for the ride. No Mongo, no Elastic, no sidecar zoo.

  • Migrations run on boot

    The image applies every database migration at startup. Upgrading is pulling a newer tag and restarting — nothing manual.

  • Health you can probe

    GET /api/health returns 200 when the app is ready — wire it to your load balancer, uptime checks, or compose healthcheck.

  • Pin the version you trust

    Set TASKNEBULA_IMAGE=neuraparse/tasknebula:0.14.0 to lock a release, or follow :latest for the bleeding edge.

quickstart — Docker Desktop or any Docker host (~2 min)
$ mkdir tasknebula && cd tasknebula$ curl -fsSLo compose.yml https://raw.githubusercontent.com/neuraparse/tasknebula/main/docker-compose.desktop.yml$ docker compose up -d

The web image waits for Postgres, runs migrations, then serves on http://localhost:3000 — open it and finish the first-run admin wizard. Image: neuraparse/tasknebula.

Compare

TaskNebula vs Jira vs Linear vs Plane

All four are capable tools. Here is exactly where TaskNebula differs — open by default, yours to host, AI-native. Nothing more, nothing less.

Open source (MIT)Yes: Entire codebase, MIT
Jira
No: Proprietary
Linear
No: Proprietary
Plane
Partial: AGPL-3.0 core
Self-host (one Docker Compose)Yes: Postgres + Redis + one web image
Jira
No: Cloud-first; DC phased out
Linear
No: Cloud only
Plane
Yes: Docker / Kubernetes
PriceYes: Free, unlimited users, self-hosted
Jira
Partial: Free ≤10 users, then per-seat
Linear
Partial: Free tier, then per-seat
Plane
Partial: Free ≤12 users, then per-seat
AI agents native + MCP serverYes: Built-in agents + MIT MCP server
Jira
Partial: Rovo + remote MCP, cloud-only
Linear
Partial: AI + remote MCP server
Plane
Partial: Plane AI (credits) + MCP
Keyboard-firstYes: Command palette + shortcuts
Jira
Partial: Limited shortcuts
Linear
Yes: Best-in-class
Plane
Yes: Command-K palette
Realtime collabYes: Live cursors via Yjs
Jira
Partial: Live sync, no co-editing
Linear
Yes: Live sync
Plane
Yes: Live sync
Jira / Linear importYes: CSV + API import
Jira
Partial: Imports to Jira
Linear
Yes: Jira import built-in
Plane
Yes: Jira / Linear importers
Sprints / CyclesYes: Sprints + backlog
Jira
Yes: Scrum + Kanban
Linear
Yes: Cycles
Plane
Yes: Cycles + modules
Labels / Components / VersionsYes: First-class, all three
Jira
Yes: All three
Linear
Partial: Labels + projects
Plane
Partial: Labels + modules
API / Projects-as-codeYes: Open REST + OpenAPI spec
Jira
Partial: REST API, no IaC
Linear
Partial: GraphQL API
Plane
Partial: REST API
YesPartialNo

Vendor details reflect public documentation and pricing pages as of June 2026 and may change. Jira is a trademark of Atlassian, Linear of Linear Orbit, and Plane of Plane Software — all are solid products, none affiliated with TaskNebula.

FAQ

Fair questions, straight answers.

No sales gate, no asterisks. If yours is missing, open a GitHub issue — public answers beat private threads.

Is TaskNebula really free, and really MIT?

Yes — the whole app is MIT licensed: boards, sprints, docs, analytics, the AI surfaces, and the MCP server. No open-core split, no paywalled tier, no per-seat fee. Self-host it and run it forever for unlimited users; fork it if you want to.

Can I self-host it?

That is the default. Bring Docker and you get three containers — Postgres 16 with pgvector, Redis 7, and the neuraparse/tasknebula web image. Migrations run on boot, GET /api/health is your probe endpoint, and a one-line compose quickstart gets you to localhost:3000. There is no hosted-only feature you lose by running it yourself.

Do I need the AI features? Can I bring my own keys?

AI is optional — every board, sprint, and doc works with no model keys configured. When you want it, you bring your own OpenAI or Anthropic key as environment variables, so spend and data residency stay yours. There is a cost guard so a runaway prompt cannot run up your bill.

How real are the AI features today?

We build them in the open. The data model and endpoints — triage suggestions, pgvector semantic search, and the /api/ask RAG endpoint — are live, and they make real OpenAI and Anthropic calls. Some surfaces are still labeled preview while we harden them; we would rather say that here than have you discover it after install.

What is the MCP server?

An MCP (Model Context Protocol) server exposes TaskNebula as tools — create, search, move, and comment on issues — so agents like Claude Code and Cursor can drive your tracker. It ships with the repo, HTTP at /api/mcp or stdio via @tasknebula/mcp-server, and is MIT licensed. Heads up: end-to-end agent auth depends on the REST API accepting API keys, which is still being wired, so treat it as preview today.

Does it import from Jira or Linear?

Yes — there are importers for Jira, Linear, GitHub, and CSV. Each runs with a preview step so you can inspect the field mapping before anything is written, and you can keep your old tool read-only while you cut over.

Is it production-ready?

The core tracker — issues, boards, sprints, docs, search, permissions, REST API, and OpenAPI spec — is solid and self-hostable. Some edges are still maturing: OAuth login needs a DB adapter, so use credentials auth for now; realtime collab env vars are not yet plumbed into the Docker images; and parts of the AI/MCP surface are preview. We track all of it openly in docs/STATUS.md.

Who can see my data?

You decide. Self-hosted, everything lives in your Postgres on your infrastructure and exports with a plain pg_dump — no telemetry phones home. Inside the product, workspaces are isolated per organization with role-based access, permission schemes, and audit logs.

Still unsure? Ask on GitHub or read the live status in the docs.

Get started

Own your tracker. Bring your agents.

Create a workspace in minutes, or run the whole thing on your own box tonight — either way, the code is yours to read.

    TaskNebula — Open-source, AI-native Jira & Linear alternative