# backloghq/backlog [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/backloghq/backlog  
**GitHub Stars:** 5  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/backloghq-backlog

## Description
Persistent, cross-session task management for Claude Code. 24 MCP tools, 7 skills, and agent coordination with event-sourced storage and per-project isolation.

## Tools
Capabilities this server exposes over MCP:

- **task_list** — Query tasks with filter syntax. Returns JSON array with all fields.
- **task_count** — Count tasks matching a filter. Same syntax as task_list.
- **task_add** — Create a new pending task. Only description required; all other fields optional.
- **task_log** — Record already-completed work directly in completed status.
- **task_modify** — Partial-update one or more tasks matching a filter. Only provided fields change.
- **task_duplicate** — Copy an existing task with optional field overrides.
- **task_done** — Mark a task as completed with end timestamp.
- **task_delete** — Soft-delete a task. Restorable with task_undo. Use task_purge to permanently remove.
- **task_annotate** — Add a timestamped note. Use task_doc_write for longer content.
- **task_denotate** — Remove an annotation by exact text match.
- **task_start** — Mark a task as actively being worked on. Visible in +ACTIVE queries.
- **task_stop** — Stop working on a task. Returns it to pending status.
- **task_undo** — Undo the most recent operation. Can be called repeatedly.
- **task_info** — Get full JSON details for a single task by ID or UUID.
- **task_import** — Bulk-create tasks from a JSON array. Atomic batch operation.
- **task_purge** — Permanently remove a deleted task. Irreversible.
- **task_doc_write** — Attach/replace a markdown document on a task (specs, notes, context).
- **task_doc_read** — Read the markdown document attached to a task.
- **task_doc_delete** — Remove a task's document. Permanent.
- **task_archive** — Move old completed/deleted tasks to quarterly archive segments.
- **task_archive_list** — List available archive segments.
- **task_archive_load** — Load archived tasks for read-only inspection.
- **task_projects** — List project names with pending/recurring tasks.
- **task_tags** — List tags with pending/recurring tasks.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "backlog": {
    "command": "npx",
    "args": ["-y","backloghq-backlog"],
    "env": {
      "TASKDATA": "",
      "TASKDATA_ROOT": "",
      "BACKLOG_NAMESPACE": "",
      "BACKLOG_AUTO_NAMESPACE": "",
      "BACKLOG_AGENT_ID": "",
      "BACKLOG_BACKEND": "",
      "BACKLOG_S3_BUCKET": "",
      "BACKLOG_S3_REGION": ""
    }
  }
}
```

**Requires environment variables:** `TASKDATA`, `TASKDATA_ROOT`, `BACKLOG_NAMESPACE`, `BACKLOG_AUTO_NAMESPACE`, `BACKLOG_AGENT_ID`, `BACKLOG_BACKEND`, `BACKLOG_S3_BUCKET`, `BACKLOG_S3_REGION` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What backloghq/backlog does

The backloghq/backlog MCP server gives agents a persistent task store that survives the end of an individual session. It is designed for project work where one agent may create or start a task and another agent later needs to find, inspect, continue, or complete it. Each project can receive its own task data automatically, reducing the chance that unrelated projects share the same backlog.

Tasks can represent pending, active, completed, blocked, scheduled, or deleted work. Records support descriptions, priorities, due dates, projects, tags, dependencies, agent identities, timestamps, annotations, and attached Markdown documents. Documents can hold specifications, implementation context, or handoff notes.

The repository also provides seven Claude Code skills for viewing, planning, refining, specifying, implementing, and handing off work. Its `task-planner` agent can decompose goals into tasks and write specifications. Hooks connect the backlog with Claude’s built-in task events, including session startup, task creation, completion, and subagent startup.

## How it works

The server is implemented in TypeScript and is built on `@backloghq/agentdb`. Storage uses the filesystem by default and can use Amazon S3 when the S3 backend is selected. In standalone mode, `TASKDATA` identifies the data directory or, with S3, the key prefix. Plugin usage can derive project-specific storage automatically; explicit namespaces are also available.

Multiple processes can share a backlog. Each process can set a distinct `BACKLOG_AGENT_ID`, allowing separate write logs instead of relying on file locks. Operations refresh data before use so changes from other agents can be picked up. Namespaces can be set manually or derived from the current working directory.

Filtering supports fields such as status, project, priority, due date, description, and agent. It also supports tags, virtual states such as `+ACTIVE`, `+BLOCKED`, `+READY`, and `+OVERDUE`, attribute modifiers, and Boolean expressions.

## Setup and configuration

The backloghq/backlog MCP server can be installed as a Claude Code plugin with `/plugin marketplace add backloghq/backlog`, followed by `/plugin install backlog@backloghq-backlog`. From source, the documented flow is to clone the repository, run `npm install`, build it, and point Claude at the resulting plugin directory.

For standalone use, configure an MCP entry that runs the built `dist/index.js` file with Node. Set `TASKDATA` to a data directory, or configure `BACKLOG_BACKEND` as `s3` with `BACKLOG_S3_BUCKET` and an optional `BACKLOG_S3_REGION`. S3 storage additionally requires the `@backloghq/opslog-s3` package. `BACKLOG_NAMESPACE` and `BACKLOG_AUTO_NAMESPACE` control collection naming.

## Tools and capabilities

The MCP tools cover the full task lifecycle:

- Query and count tasks with filter expressions.
- Create, import, duplicate, modify, start, stop, complete, delete, undo, and permanently purge tasks.
- Add or remove timestamped annotations.
- Write, read, replace, and delete Markdown task documents.
- Archive completed or deleted tasks and inspect archive segments.
- List projects and tags that contain pending or recurring tasks.

Deletion is soft by default, while purging and deleting an attached document are permanent operations. Bulk import is atomic, and `task_info` returns complete details for a task identified by ID or UUID.

## Limitations and notes

The documented standalone configuration uses a built JavaScript file path, so the project must be built from source before that mode can run. S3 is optional rather than the default and requires an additional package plus bucket configuration. Permanent purge and document deletion cannot be reversed. The README documents Claude Code skills and hooks; the MCP tools can also be used by other compatible MCP clients when configured as a standalone server.

## Getting started with this backloghq/backlog MCP server
Always refer to the official documentation for the most accurate and up-to-date information.

_Full upstream README: https://allmcps.com/mcp/backloghq-backlog/readme_

