Backlog MCP Server
Exposes Backlog project management as tools for Claude Desktop, enabling search and management of issues, comments, wiki pages, milestones, custom fields, notifications, and more.
README
Backlog MCP Server
An MCP server that exposes Backlog project management as tools for Claude Desktop (or any MCP-compatible client). Search and manage issues, comments, wiki pages, milestones, custom fields, notifications, and more — directly from a conversation with Claude.
Features
- 61 tools covering issues, comments, wiki, categories, issue types, milestones, custom fields, attachments, activity feeds, notifications, watchers, and stars.
- Multi-space support — configure any number of Backlog spaces (e.g. separate client/company instances) and target them by name per tool call, without restarting or reconfiguring.
- Real mentions —
add_comment_with_mentionposts a comment that renders as a highlighted@Namemention and triggers a real Backlog notification (bell + email), matching what you get from typing@in the Backlog UI. Plain@Nametext (including fromadd_comment) does neither. - Parallel fetching for bulk operations (
get_issues_by_keys,get_recent_comments_bulk,bulk_update_issue_status). - Read-only tools require no confirmation; every create/update/delete tool is marked in its docstring for the client to confirm with the user before calling.
Setup
1. Install dependencies
uv sync
# or
pip install -e .
Requires Python 3.11+.
2. Configure Backlog spaces
Copy .env.example to .env and fill in your space(s). Each space needs three variables sharing a common <NAME> suffix:
BACKLOG_API_KEY_<NAME>=...
BACKLOG_HOST_<NAME>=...
PROJECT_KEY_<NAME>=...
<NAME> (lowercased) becomes the source argument you pass to tools. Add as many spaces as you need by repeating the pattern with a different <NAME>. Optionally set DEFAULT_SOURCE=<name> to control which space is used when source is omitted — otherwise the first configured space is used.
Get your API key from Backlog under Personal Settings → API.
3. Register with Claude Desktop
Copy claude_desktop_config.example.json to your Claude Desktop config location, fill in the real command/args paths and credentials, and merge it into your existing mcpServers block if you already have other servers configured:
{
"mcpServers": {
"backlog": {
"command": "/path/to/backlog-mcp/.venv/Scripts/python.exe",
"args": ["/path/to/backlog-mcp/server.py"],
"env": {
"BACKLOG_API_KEY_SPACE1": "your_api_key_here",
"BACKLOG_HOST_SPACE1": "your-space.backlog.com",
"PROJECT_KEY_SPACE1": "YOUR_PROJECT_KEY"
}
}
}
}
Your filled-in claude_desktop_config.json is machine-specific and contains live credentials — keep it out of version control (already covered by .gitignore).
Tools
Discovery & metadata
get_sources, get_project, get_project_statuses, get_project_users, get_issue_types, get_categories, get_milestones, get_priorities
Issues
get_issues, get_issue, get_issues_by_keys, get_parent_issue, get_child_issues, get_issue_count, create_issue, update_issue, delete_issue, bulk_update_issue_status
Comments
get_issue_comments, get_recent_comments_bulk, add_comment, add_comment_with_mention, update_comment, delete_comment
Attachments
get_issue_attachments, download_issue_attachment, get_wiki_attachments, download_wiki_attachment — images are returned inline, text files as text, other binaries as base64.
Project admin
Categories: add_category, update_category, delete_category
Issue types: add_issue_type, update_issue_type, delete_issue_type
Milestones: add_milestone, update_milestone, delete_milestone
Custom fields: get_custom_fields, add_custom_field, update_custom_field, delete_custom_field
Wiki
get_wiki_pages, get_wiki_count, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page
Activity & notifications
get_space_activities, get_project_activities, get_recently_viewed_issues, get_recently_viewed_wikis, get_notifications, get_notification_count, mark_notification_read, reset_notification_count
Watchers & stars
get_issue_watchers, add_issue_watcher, delete_issue_watcher, add_star
Space / user
get_projects, get_my_info
Project layout
server.py— MCP tool definitions (FastMCP)backlog_api.py— HTTP client, pagination, retries, response slimming (not exposed as tools)config.py— builds the multi-space source registry from environment variables
License
No license specified — all rights reserved by default.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.