Backlog MCP Server
backlog-mcp
LLMエージェント向けのタスクバックログMCPサーバーです。Claude、Kiro、Cursor、Codexなど、あらゆるMCPクライアントで動作します。
エージェントはタスクを作成し、進捗を追跡し、成果物を添付し、すべてを横断して検索できます。人間はリアルタイムのWebビューアでエージェントの作業状況を確認できます。
インストール後すぐにローカルで実行可能です。また、Cloudflare Workers + D1でセルフホストすれば、あらゆるデバイスやMCPクライアントからアクセス可能な、常時稼働のリモートバックログとしても利用できます。
クイックスタート: LLMに次のように伝えてください:
Add backlog-mcp to .mcp.json and use it to track tasks
ライブデモ: backlog-mcp-viewer.pages.dev — 実際のホストインスタンスに接続されたビューアUI

構成内容
これは3つのパッケージを含むモノレポです:
パッケージ | npm | 役割 |
MCPサーバー、HTTP API、CLI | ||
— |
| |
— | 共有エンティティ型とIDユーティリティ |
ビューアは、@nisli/core として公開されている依存関係ゼロのリアクティブWebコンポーネントフレームワーク Nisli で構築されています。Nisliはこのリポジトリで始まり、現在は独立して管理されています。
Related MCP server: Task Manager MCP Server
インストール
MCP設定(.mcp.json またはMCPクライアントの設定)に追加してください:
{
"mcpServers": {
"backlog": {
"command": "npx",
"args": ["-y", "backlog-mcp"]
}
}
}Cloudflareでのセルフホスト(オプション)
Cloudflare Workers + D1を使用して、無料で常時稼働のリモートバックログをホストできます。 あらゆるデバイスやMCPクライアントからアクセス可能で、ローカルサーバープロセスは不要です。
前提条件: Cloudflareアカウント(無料枠で十分)、wrangler CLI、GitHub OAuthアプリ。
# 1. Clone and install
git clone https://github.com/gkoreli/backlog-mcp.git
cd backlog-mcp
pnpm install
# 2. Create the D1 database
cd packages/server
npx wrangler d1 create backlog
# Copy the database_id into packages/server/wrangler.jsonc
# 3. Apply the D1 migrations
npx wrangler d1 execute backlog --remote --file=migrations/0001_initial.sql
npx wrangler d1 execute backlog --remote --file=migrations/0002_oauth_refresh_tokens.sql
# 4. Set secrets
npx wrangler secret put JWT_SECRET # any strong random string
npx wrangler secret put API_KEY # your personal API key (for Claude Desktop)
npx wrangler secret put GITHUB_CLIENT_ID # GitHub OAuth App client ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put ALLOWED_GITHUB_USERNAMES # comma-separated: "you,youralt"
# 5. Deploy
npx wrangler deployGitHub OAuthアプリの設定: GitHub → Settings → Developer settings → OAuth Apps → New に移動します。
コールバックURLを https://<your-worker>.workers.dev/oauth/github/callback に設定してください。
デプロイ後、MCPクライアントの設定に追加します:
{
"mcpServers": {
"backlog": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://<your-worker>.workers.dev/mcp"]
}
}
}Claude.aiやChatGPTはリモートMCP URL経由で直接接続できるため、ローカルプロセスは不要です。 GitHub OAuthセッションはローテーションされるリフレッシュトークンを使用するため、クライアントは毎日再認証することなくアクセスを更新できます。
Webビューア
http://localhost:3030 を開いてください。サーバー実行中は常に利用可能です。
機能:
タスクリストと詳細表示の分割ペインレイアウト
ハイブリッドテキスト + セマンティックマッチングによるスポットライト検索
SSEによるリアルタイム更新
アクティビティタイムライン
ステータス、タイプ、エピックによるフィルタリング
Mermaid図を含むGitHubスタイルのMarkdownレンダリング
URL状態の永続化
ビューアUIは Nisli (@nisli/core) で構築されています。
エンティティ型
5つのエンティティ型があり、すべてYAMLフロントマター付きのMarkdownファイルとして保存されます:
型 | プレフィックス | 目的 |
Task |
| 作業項目 |
Epic |
| 関連タスクのグループ |
Folder |
| 整理用コンテナ |
Artifact |
| 添付された成果物(調査、設計、ログ) |
Milestone |
| 期日付きの期限目標 |
ステータス値: open, in_progress, blocked, done, cancelled
タスクファイルの例:
---
id: TASK-0001
title: Fix authentication flow
status: open
epic_id: EPIC-0002
parent_id: FLDR-0001
references:
- url: https://github.com/org/repo/issues/123
title: Related issue
evidence:
- Fixed in PR #45
---
The authentication flow has an issue where...MCPツール
backlog_list
backlog_list # Active tasks (open, in_progress, blocked)
backlog_list status=["done"] # Completed tasks
backlog_list type="epic" # Only epics
backlog_list epic_id="EPIC-0002" # Tasks in an epic
backlog_list parent_id="FLDR-0001" # Items in a folder
backlog_list query="authentication" # Search across all fields
backlog_list counts=true # Include counts by status/type
backlog_list limit=50 # Limit resultsbacklog_get
backlog_get id="TASK-0001" # Single item
backlog_get id=["TASK-0001","EPIC-0002"] # Batch getbacklog_create
backlog_create title="Fix bug"
backlog_create title="Fix bug" description="Details..." epic_id="EPIC-0002"
backlog_create title="Q1 Goals" type="epic"
backlog_create title="Research notes" type="artifact" parent_id="TASK-0001"
backlog_create title="v2.0 Release" type="milestone" due_date="2026-03-01"
backlog_create title="Fix bug" source_path="/path/to/spec.md" # Read description from filebacklog_update
backlog_update id="TASK-0001" status="done"
backlog_update id="TASK-0001" status="blocked" blocked_reason=["Waiting on API"]
backlog_update id="TASK-0001" evidence=["Fixed in PR #45"]
backlog_update id="TASK-0001" parent_id="FLDR-0001"
backlog_update id="MLST-0001" due_date="2026-04-01"backlog_delete
backlog_delete id="TASK-0001" # Permanent deletebacklog_search
関連性スコアリング付きのフルテキスト + セマンティックハイブリッド検索:
backlog_search query="authentication bug"
backlog_search query="design decisions" types=["artifact"]
backlog_search query="blocked tasks" status=["blocked"] limit=10
backlog_search query="framework" sort="recent"
backlog_search query="search ranking" include_content=truebacklog_context
タスクの豊富なコンテキスト(親エピック、兄弟、子、相互参照、逆参照、最近のアクティビティ、セマンティックに関連する項目)を取得します:
backlog_context task_id="TASK-0001"
backlog_context task_id="TASK-0001" depth=2 # Grandparent/grandchildren
backlog_context query="search ranking improvements" # Find by description
backlog_context task_id="TASK-0001" include_related=false # Skip semantic searchwrite_resource
MCPサーバー上の既存ファイルを編集します。作成はすべて backlog_create を経由します。
# Edit task body (use str_replace — protects frontmatter)
write_resource uri="mcp://backlog/tasks/TASK-0001.md" \
operation={type: "str_replace", old_str: "old text", new_str: "new text"}
# Insert after a specific line
write_resource uri="mcp://backlog/tasks/TASK-0001.md" \
operation={type: "insert", insert_line: 5, new_str: "inserted line"}
# Append to a file
write_resource uri="mcp://backlog/resources/log.md" \
operation={type: "append", new_str: "New entry"}操作: str_replace(完全一致、一意である必要あり)、insert(行番号の後)、append(ファイルの末尾)。
仕組み
npx -y backlog-mcp(デフォルトのMCP設定)を実行すると、以下の処理が行われます:
永続的なHTTPサーバーをバックグラウンドプロセスとして起動 — MCPエンドポイント (
/mcp) とWebビューア (/) の両方をポート3030で提供します。stdioをブリッジ — MCPクライアントはstdio経由で通信し、それが
mcp-remoteを介してHTTPサーバーに転送されます。自動更新:
npx -yは常に最新の公開バージョンを取得します。実行中のサーバーが古いバージョンの場合、自動的にシャットダウンされ、新しいバージョンで再起動されます。回復機能: ブリッジの接続が切断された場合、スーパーバイザーが指数バックオフ(最大10回のリトライ)で再起動します。
ECONNREFUSEDのような接続エラーは自動的に検出され、処理されます。
HTTPサーバーはエージェントセッションをまたいで永続化されるため、複数のMCPクライアントで共有可能です。Webビューアは常に http://localhost:3030 で利用可能です。
CLI
npx経由の全コマンド:
$ npx backlog-mcp status
Server is running on port 3030
Version: 0.44.0
Data directory: /Users/you/.backlog
Task count: 451
Uptime: 3515s
Viewer: http://localhost:3030/
MCP endpoint: http://localhost:3030/mcp
$ npx backlog-mcp stop
Stopping server on port 3030...
Server stopped
$ npx backlog-mcp status
Server is not running出力例:
$ npx backlog-mcp status
Server is running on port 3030
Version: 0.44.0
Data directory: /Users/you/.backlog
Task count: 451
Uptime: 3515s
Viewer: http://localhost:3030/
MCP endpoint: http://localhost:3030/mcp
$ npx backlog-mcp stop
Stopping server on port 3030...
Server stopped
$ npx backlog-mcp status
Server is not runningCLIは、人間がエージェントのバックグラウンドサーバーを検査・管理するために存在します。デフォルトモードではデタッチされたプロセスが生成されるため、status で確認し、stop でシャットダウンする必要があります。
serve はHTTPサーバーをデタッチせずにフォアグラウンドで実行します。デバッグ、Dockerコンテナ、またはMCPクライアントなしでの実行に便利です。通常の使用では必要ありません。デフォルトコマンドがすべてを処理します。
設定
BACKLOG_DATA_DIR=~/.backlog # Where to store tasks (default: data/tasks/)
BACKLOG_VIEWER_PORT=3030 # HTTP server portローカル開発用に .env ファイルを作成してください(.env.example を参照)。
開発
git clone https://github.com/gkoreli/backlog-mcp.git
cd backlog-mcp
pnpm install
pnpm build # Build all packages
pnpm test # Run all workspace tests
pnpm dev # Server + viewer with hot reloadアーキテクチャ
packages/
├── server/ # MCP server, search, context hydration, storage
├── viewer/ # Web UI built with @nisli/core
└── shared/ # Entity types, ID utilities
docs/
├── adr/ # backlog-mcp architecture decision records
└── framework-adr/ # Pointer to Nisli ADRsBacklogのADR(アーキテクチャ決定記録)は重要な設計決定を文書化しています。完全なインデックスは docs/adr/README.md を参照してください。NisliのADRは Nisliリポジトリ にあります。
ライセンス
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceEnables users to manage tasks through a simple JSON file interface. Provides basic task management functionality by reading and writing to a configurable tasks.json file.12MIT
- Flicense-qualityDmaintenanceEnables task management through natural language with full CRUD operations including add, list, update, complete, and delete tasks with JSON persistence.
- AlicenseAqualityDmaintenanceA task management and productivity tool that enables creating, updating, filtering, and organizing todos with tags, priorities, and due dates, all stored locally in JSON format.716MIT
- Flicense-qualityDmaintenanceManages TODO tasks with operations like add, list, complete, update, and delete, stored in a JSON file.
Related MCP Connectors
Project management MCP for AI agents with safe task reads and writes.
Create, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.
Shortcut project management. Create, update, search stories and manage workflows.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gkoreli/backlog-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server