Backlog Mcp

Created By
corbym2 months ago
Overview

backlog-mcp

An MCP server that gives AI agents structured read/write access to a story-based project backlog. Agents can list stories, read content, update status, and append notes — all backed by plain markdown files that live inside your project repository.

How collaboration works

There is no shared server. The backlog files live in your repo under requirements/, committed and versioned alongside your code. Collaboration between agents, or between an agent and a human, works exactly the way the rest of your codebase does: through git. If two agents update different stories concurrently, git merges them. If they touch the same line, you resolve it like any other merge conflict.

The MCP server is a local process each agent runs for itself. It reads and writes files; git handles the rest.


Install

Download the latest binary for your platform from the Releases page and put it somewhere on your $PATH.

Or, if you have Go installed:

go install github.com/corbym/backlog-mcp@latest

Build from source

go mod tidy
go build -o backlog-mcp .

Setup

Initialise a requirements/ folder in your project root:

./backlog-mcp init /path/to/your/project/requirements

This creates:

requirements/
  requirements-index.md   # master index — source of truth for epics and story status
  backlog.md              # priority-ordered list of not-done stories
  epic-001-example/
    story-001.md          # example story file

Commit the requirements/ folder to your repo. Edit the files to add your own epics and stories.


Running

./backlog-mcp

The server looks for a requirements/ directory relative to the working directory it is launched from. Claude Code sets the working directory to the project root, so no configuration is needed.

Claude Code config (.claude/settings.json in your project, or ~/.claude/settings.json globally):

{
  "mcpServers": {
    "backlog-mcp": {
      "command": "/path/to/backlog-mcp"
    }
  }
}

Tools

ToolDescription
list_storiesList stories, optionally filtered by epic_id or status
get_storyGet full markdown content and metadata for a story
set_story_statusUpdate story status in index and backlog
add_story_noteAppend a timestamped note to a story file
get_index_summaryHigh-level epic/story counts by status

Environment variables

VariableRequiredDefaultDescription
BACKLOG_ROOTnorequirementsOverride the path to the requirements directory
BACKLOG_TRANSPORTnostdioSet to http for HTTP/SSE mode
BACKLOG_HTTP_ADDRno0.0.0.0:8080Listen address for HTTP mode

File format

requirements-index.md — one epic section per heading, one story per table row:

## EPIC-001: Combat System — `draft`

| Story | Title | Status |
|-------|-------|--------|
| [STORY-001](./epic-001-combat-system/story-001.md) | Basic combat | draft |

backlog.md — priority-ordered numbered list:

1. **STORY-001** — Basic combat
2. **STORY-002** — Enemy AI *(in-progress)*

Story files live at epic-NNN-slug/story-NNN.md under BACKLOG_ROOT.

Status values: draft, in-progress, done, blocked


Notes

  • File writes are atomic (temp file + rename) — a crash mid-write cannot corrupt your files.
  • The filesystem is the source of truth. The MCP server never owns the data.

Server Config

{
  "mcpServers": {
    "backlog-mcp": {
      "command": "/path/to/binary/backlog-mcp",
      "env": {
        "BACKLOG_ROOT": "/path/to/repository/requirements"
      }
    }
  }
}
Project Info
Created At
2 months ago
Updated At
2 months ago
Author Name
corbym
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All
AI Work Market — USDC settlement rails for AI labor on Base Mainnet)
@Dario (DME)

AI Work Market is a USDC escrow protocol on Base Mainnet, designed for autonomous AI agents to find work, post jobs, and settle payments without humans in the loop. This MCP server exposes 10 tools: **Escrow lifecycle** - `create_intent_quote` — get calldata + gas estimate for funding a new escrow intent - `submit_proof_quote` — get calldata for the seller to submit a proof URI - `release_funds_quote` — get calldata for the buyer to release payment (or claim/refund) **x402 single-call binding** - `x402_consume` — replaces the 5-step x402 flow with one HMAC-signed POST that returns a delivery URL **Onboarding & discovery** - `agent_onboard` — generate a signed agent card with marketplace attestation - `agent_search` — tf-idf search over the live agent catalog - `agent_reputation` — server-side reputation from on-chain Released/Refunded/Disputed events **Live state** - `system_status` — live on-chain state (nextIntentId, accumulatedFees, contract balance, owner) - `escrow_rules` — contract semantics, lifecycle, call guides, failure modes - `events_subscribe` — SSE stream of new on-chain intent events All endpoints are serverless (Vercel) and return their schema on GET. No browser, no wallet UI required for an agent to integrate. The protocol takes a 1% commission on every settlement; the rest goes to the seller. The full AgentCard is at `/.well-known/agent-card.json` (A2A-compatible). The OpenAPI 3.0.3 spec is at `/.well-known/openapi.json` with `components.securitySchemes` (none, hmacX402). `robots.txt` allows GPTBot, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, Applebot-Extended, CCBot, Amazonbot.

13 minutes ago