The MCP Backlog Server is a Model Context Protocol server for managing work items and tasks with structured workflows and multi-project support.
Core Capabilities:
Backlog Item Management - Create, read, update, and archive backlog items with topics, descriptions, and priorities (high/medium/low). Items are automatically versioned when amended and support tracking item age.
Status Workflow - Move items through a defined lifecycle: new → ready → review → done, with specialized operations like submit, approve, reopen, and wontfix. Items can be completed with optional summary notes.
Todo Management - Create, read, and update todos within backlog items with content, status (pending/in_progress/completed/cancelled), batch organization, and dependency tracking. Mark todos complete with automatic dependency validation to ensure prerequisites are met.
Filtering & Listing - Filter backlog items by status, priority, or topic. Filter todos by status, batch, or associated backlog item topic. List completed items separately.
Storage & Organization - Uses XDG-compliant, human-readable markdown files with frontmatter. Supports isolated storage per project (git-aware), custom storage locations via environment variables (e.g., MCP_BACKLOG_DIR), and separate archive directory structure.
Archive Maintenance - Prune or clear old completed/archived items with configurable age thresholds (olderThanDays) and dry-run previews.
Configuration Flexibility - Supports global installation, NPX/Bunx execution, and environment variable customization for different deployment scenarios.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Backlog Servercreate a high priority item for implementing user authentication"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Backlog Server
A Model Context Protocol (MCP) server for managing backlog items and todos. This server provides a structured way to track work items, their status, and associated tasks.
Features
Backlog Management: Create, read, update, and archive backlog items
Todo Tracking: Manage todos within backlog items with dependencies
Status Workflow: Track items through states: new → ready → review → done
Priority Levels: Organize items by high, medium, or low priority
Versioning: Automatic versioning when amending backlog items
Markdown Storage: Human-readable markdown files with frontmatter
Prune/Clear: Remove old completed items to keep your archive clean
Installation
Quick Start (Zero Install)
Using NPX (Node.js):
Using Bunx (Bun - Faster):
Global Installation
With Bun (Recommended):
With NPM:
From Source
Usage
In your MCP client configuration
Add to your MCP client's configuration file:
Using NPX from GitHub (Recommended):
Using Bunx (Faster):
Using global install:
Using NPX:
Using local build:
Tools
backlog-read
List and filter backlog items.
Arguments:
status(optional): Filter by status (new, ready, review, done, reopen, wontfix)priority(optional): Filter by priority (high, medium, low)
backlog-write
Create and manage backlog items.
Arguments:
action: Operation to perform (create, list, amend, approve, submit, reopen, wontfix)topic: Topic name for the backlog itemdescription: Description of the work itempriority(optional): Priority level (default: medium)status(optional): Status for amend operation
Examples:
backlog-done
Mark backlog items as complete.
Arguments:
action: done or listtopic: Topic name to mark as donesummary(optional): Completion summary
ticket-read
List todos for a backlog item.
Arguments:
topic: Backlog item topic (required)status(optional): Filter by statusbatch(optional): Filter by batch
ticket-write
Create and update todos within backlog items.
Arguments:
action: create, update, or listtopic: Backlog item topic (required)todoId: Todo ID (for update)content: Todo contentstatus: Todo status (pending, in_progress, completed, cancelled)dependencies: Array of todo IDs that must complete firstbatch: Batch identifier
ticket-done
Mark todos as complete with dependency validation.
Arguments:
action: done or listtopic: Backlog item topic (required)todoId: Todo ID to mark as done
prune
Remove old completed/archived backlog items from COMPLETED_Backlog.
Arguments:
action: Operation to perform (list, prune, clear) - default: listolderThanDays(optional): For prune action, delete items older than this many days (default: 30)dryRun(optional): Preview what would be deleted without actually deleting (default: false)
Examples:
Directory Structure
Default Location (XDG-compliant)
By default, the server stores backlog data in XDG-compliant directories with multi-project isolation:
Multi-Project Support
Each project gets its own isolated directory:
Git repositories: Uses the repository root directory name as project identifier
Non-git projects: Uses directory name + hash for uniqueness
This allows you to use the same MCP server across multiple projects without conflicts.
Legacy Support
For backward compatibility, if you have an existing .agent/ directory in your current working directory, it will be used instead of the XDG directory.
Custom Locations
You can override the default location using environment variables:
Option 1: Set a custom backlog directory
Option 2: Set XDG_DATA_HOME (affects all XDG-compliant apps)
Add these to your MCP client configuration:
Configuration
See CONFIGURATION.md for detailed information about:
XDG Base Directory support
Multi-project isolation
Environment variables
Custom storage locations
Platform-specific defaults
Development
Run tests
Build
Workflow
Create a backlog item with status "new"
Submit to move it to "ready" (ready for work)
Amend to update status to "review" when work is done
Approve to move from "review" to "done"
Done to archive the completed item
Or use reopen to send items back for more work, or wontfix to archive without completing.
License
MIT