Comparison
Issue trackers with MCP support, compared.
Written by Lific.devAccurate at time of writing, July 14, 2026
If you want your coding agent to work against a real issue tracker over the Model Context Protocol, these are the options worth knowing about: Lific, beads, Vikunja, Gitea, Plane, and Linear.
Every cell below is checkable against the linked primary sources, the products we compare against are good at what they do, and Lific's flaws get a section of their own. No cell pretends they don't exist.
At a glance
The details, transports, and sources for every row are in the sections below.
| Feature | Lific | beads | Vikunja | Gitea | Plane | Linear |
|---|---|---|---|---|---|---|
| First-party MCP server | ✓ | ✓ | ✗1 | ✓ | ✓ | ✓ |
| Tracker and MCP server are one process | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Built for coding agents first | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Ready-work query (unblocked issues, one call) | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Web UI for humans included | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ |
| Self-host with a single binary | ✓ | ✓2 | ✓ | ✓ | ✗ | ✗ |
| Free and open source | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
| Repo-local mode (tracker lives in your repo) | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ |
| Hosted cloud option | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
- 1. Community-maintained MCP servers for Vikunja exist; none are first-party.
- 2. beads goes further: it has no server at all, just a CLI with an embedded database.
The MCP story
Who ships the MCP server, how it connects, and what an agent actually gets once it's wired up.
| Tracker | MCP server | Transports | What agents get |
|---|---|---|---|
| Lific | Built into the tracker binary. Nothing extra to run. | Streamable HTTP (OAuth 2.1 or API key), or stdio via lific mcp | 27 tools: issues, nestable plans, pages, comments, search, audit history. The whole surface costs about 5.6k tokens of context (measured below). |
| beads | First-party: beads-mcp on PyPI, wrapping the bd CLI. | stdio | 15 tools: dependency-aware issue graph, ready-work detection, persistent agent memory. beads' own docs recommend the CLI over MCP when the agent has a shell, since it costs fewer tokens. |
| Vikunja | None first-party. Several community servers of varying scope and upkeep. | Varies by server (stdio or HTTP) | Tasks, projects, labels, and kanban, through whichever community server you pick and vet yourself. The one we measured exposes 53 tools; another documents 180. |
| Gitea | First-party: gitea-mcp, a separate binary you run alongside your instance. | stdio, HTTP, SSE | 53 forge-level tools. Issues get CRUD, comments, and edits; most of the surface is repositories, files, and pull requests. |
| Plane | First-party. Hosted at mcp.plane.so, or run it yourself. | Streamable HTTP (OAuth 2.1 or PAT), stdio, SSE (legacy) | Plane's full API surface as 139 tools: work items, sprints, modules, docs, time tracking. |
| Linear | First-party, hosted by Linear. Nothing to install, and nothing to self-host. | Streamable HTTP (OAuth 2.1) | A curated set of about two dozen tools over Linear's API: issues, projects, comments, documents. Requires a Linear account. |
The context bill: tool counts and token costs
Tool definitions are not free. Every MCP server an agent connects to injects its full tool schemas into the context window before any work happens. The MCP project's own client guidance is blunt about it: loading every tool definition up front "wastes tokens, increases latency, and degrades model performance", and it suggests budgeting tool definitions to roughly 1 to 5 percent of the context window. On a 200k-token model, that is 2k to 10k tokens. Anthropic's guidance for tool authors is shorter: "More tools don't always lead to better outcomes."
So we measured, on July 14, 2026: each server launched over stdio, asked for its tool list, schemas tokenized. Numbers below are what an agent pays before it reads a single line of your code.
| Tracker | Server measured | Tools | Schema size | Share of a 200k context |
|---|---|---|---|---|
| Lific | Built in: lific mcp (v2.2.1) | 27 | 5,641 tokens | 2.8% |
| beads | beads-mcp (PyPI) | 15 | 2,871 tokens | 1.4% |
| Vikunja | @aimbitgmbh/vikunja-mcp (community) | 53 | 7,213 tokens | 3.6% |
| Gitea | gitea-mcp v1.3.0 | 53 | 6,676 tokens | 3.3% |
| Plane | plane-mcp-server (PyPI) | 139 | 30,105 tokens | 15.1% |
| Linear | Hosted at mcp.linear.app | 23 (published) | Not measurable without a workspace login | unknown |
Four of the five measurable servers fit the budget. beads deserves specific credit for the smallest bill: its server hides most commands behind a discover_tools call instead of declaring everything up front. (That same design means its measured number understates the eventual cost, since full schemas load on demand.) Plane is the outlier. 139 tools and thirty thousand tokens is 15 percent of a 200k context spent before any work starts, and it exceeds VS Code's 128-tools-per-request cap on its own. The count is not padding, it is philosophy: in our dump, five of every six Plane tools are create, read, update, or delete variants spread across about two dozen entity types, from work items down to estimate points and property options. That is an API mirror, and agents pay for the whole mirror up front. Linear's hosted server sits behind a workspace login, so we cite the published count instead of measuring it ourselves; Linear also revises its tool set regularly.
Lific's own 5.6k fits the budget, but not gracefully: per tool, its schemas are the second wordiest on this page, after Plane.
Methodology: each server was launched over stdio on July 14, 2026, sent initialize and tools/listvia the official MCP Python SDK, and the returned tool definitions (name, description, input schema) were serialized as compact JSON and tokenized with tiktoken's o200k_base. Clients serialize schemas differently, so treat small deltas as noise; the order of magnitude is the point.
Running it
What you deploy, where the data lives, and under what terms.
| Tracker | Deployment | Storage | Hosted option | License |
|---|---|---|---|---|
| Lific | One Rust binary: cargo install lific, or static binaries for Linux and macOS. Windows is cargo-only, with no prebuilt binary. | SQLite | None; self-host only | Apache-2.0 |
| beads | A CLI with an embedded Dolt database inside your repo (.beads/). No server process. | Dolt (versioned SQL) | None; local by design | MIT |
| Vikunja | Single Go binary, or Docker. | SQLite, MySQL, or PostgreSQL | Vikunja Cloud | AGPL-3.0 |
| Gitea | Single Go binary, or Docker. A whole code forge, not just a tracker. | SQLite, MySQL, or PostgreSQL | Gitea Cloud | MIT |
| Plane | Docker or Kubernetes; a multi-service stack (PostgreSQL, Redis, and more). | PostgreSQL | Plane Cloud | AGPL-3.0 |
| Linear | Nothing to run; it's SaaS. | Managed for you | Hosted only | Proprietary |
Where Lific wins
The tracker is the MCP server.
Not a wrapper, bridge, or sidecar. The same binary that stores your issues speaks MCP, so the tools and the data can't drift apart, and there is no second process to install, version, or babysit.
Verbs shaped for agent loops.
workablereturns issues with no unresolved blockers in one call.edit_issuepatches by exact string replacement instead of resending whole descriptions. Plans are nestable step trees that mirror issues and survive across sessions and context compaction.A small context bill.
About 5.6k tokens for the full 27-tool surface, roughly one long file read, so connecting the tracker doesn't crowd out the actual work.
Humans get a real UI in the same binary.
Issue list, kanban board, documents, and comment threads where you and your agents talk to each other, at
localhost:3456, no extra deployment.An audit trail that names the door.
Every change records who made it and whether it came through the web UI, MCP, the REST API, or the CLI. When an agent goes off script, you can see exactly what it did.
Setup is one minute, not one afternoon.
lific initwrites config, creates the database, registers a background service.lific connectdetects your AI clients and writes their MCP config.lific doctortells you what's broken.Apache-2.0, no telemetry, no account.
Permissive license, nothing phones home, and keys minted from your own shell never require a signup.
Where Lific loses
Everything above is true, and so is this. If one of these is a dealbreaker for you, the next section points you somewhere good.
No prebuilt Windows binary.
Releases cover Linux and macOS (x86_64 and arm64). Windows works natively, but you compile it yourself with
cargo install lific. There is also no Windows service integration, so keeping the server running is on you (Task Scheduler or a terminal).No repo-local mode.
Issues live in a server database, not in your repository. If you want the tracker versioned with the code (branching with it, merging with it, readable offline in the checkout), beads does exactly that and Lific does not.
A server is required.
Lific is an always-on service. If the process is down, so is the tracker. beads needs no server at all; Linear runs someone else's.
Single maintainer.
The bus factor is one. That is a real risk and you should price it in.
Young.
First release April 2026. Short track record, small community. Weight that honestly against tools that have shipped for years.
Sized for solo developers and small teams.
SQLite on one box, project-scoped roles, and that's the ceiling. If you need SSO, org hierarchies, or enterprise scale, Plane and Linear are built for that and Lific is not.
No hosted option.
There is no cloud to sign up for. You run it, or it doesn't exist.
When to use something else
These are honest defaults, not straw men. If one of these fits, use it. An issue tracker you resent is one you stop updating.
Use beads if issues should live in the repo
beads keeps a dependency-aware issue graph in a Dolt database inside your repository: it branches when you branch, merges without collisions, works offline, and needs no server process at all. If "the tracker travels with the checkout" is your requirement, beads is the purpose-built answer and Lific isn't. Lific's bet is the opposite one: a single tracker on your own server, spanning every project you have, shared by humans and agents through one URL.
Use Gitea if issues should live next to the code forge
If you already run Gitea, or want repos, pull requests, CI, and issues in one self-hosted instance, its first-party gitea-mcp gives agents the whole forge, not just the tracker. The issue tools are simpler than a dedicated tracker's, but they come welded to the place your code already lives.
Use Vikunja for personal task management
Vikunja is a mature, polished to-do and project app (lists, kanban, Gantt, calendars) that happens to self-host beautifully. If you're organizing life and work rather than pointing coding agents at a backlog, it's the better tool. MCP access is community-maintained rather than first-party, so vet the server you pick.
Use Plane for a full product-management suite
Plane is an open-source Jira alternative: cycles, modules, docs, time tracking, triage, and a first-party MCP server you can use hosted or self-hosted. If you have a real team and need real PM machinery, Plane does far more than Lific, at the cost of a multi-service deployment instead of one binary.
Use Linear if SaaS is fine and polish matters
Linear is the best-run commercial tracker in the business, and its hosted MCP server is genuinely zero-setup: add a URL, OAuth in your browser, done. If you don't need self-hosting or your data on your own disk, it's the lowest-friction option on this page.
Questions people actually ask
How is Lific different from beads?
beads stores a dependency-aware issue graph inside your repository and needs no server: the tracker branches, merges, and travels with the checkout. Lific is one server outside any single repository, tracking every project you have, with a web UI for humans and MCP, REST, and CLI for agents. If the tracker should live in the repo, use beads. If humans and agents should share one tracker across all projects, use Lific.
Which issue trackers have first-party MCP servers?
As of July 14, 2026: Lific (built into the tracker binary), beads (beads-mcp), Gitea (gitea-mcp), Plane (plane-mcp-server, also hosted at mcp.plane.so), and Linear (hosted at mcp.linear.app). Vikunja has no first-party server; several community MCP servers exist.
How many context tokens does an issue tracker's MCP server cost?
Measured against each server's tools/list output with tiktoken o200k_base on July 14, 2026: beads 2,871 tokens (15 tools), Lific 5,641 (27 tools), Gitea 6,676 (53 tools), a Vikunja community server 7,213 (53 tools), and Plane 30,105 (139 tools). MCP client guidance recommends budgeting tool definitions to roughly 1 to 5 percent of the context window, which is 2k to 10k tokens on a 200k model.
This page is a snapshot: every claim above was checked against the linked sources on July 14, 2026, and products ship faster than pages update. If a cell is wrong or has gone stale, file an issue and we'll fix the cell and the date.