Backlog MCP Server
About
An MCP server for interacting with the Backlog API, a project management and collaboration tool.
Details
- Author
- safx
- Categories
- Productivity, Project Management, API
Jump to
Setup
Install Backlog MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/safx/backlog-mcp-server-rust
Follow the installation instructions in the repository README, then restart your MCP client.
Backlog MCP Server (mcp-backlog-server)
mcp-backlog-serveris a Model Context Protocol (MCP) server for interacting with the Backlog API. This server allows MCP-compatible clients (such as AI assistants) to utilize Backlog functionalities.
Using Homebrew (Recommended for macOS/Linux)
The easiest way to install is via Homebrew:
# Add the tap (only needed once) brew tap safx/tap # Install the tools brew install mcp-backlog-server # MCP server for AI assistants brew install blg # Backlog CLI tool (Optional)
brew update brew upgrade mcp-backlog-server brew upgrade blg
brew uninstall mcp-backlog-server brew uninstall blg brew untap safx/tap # Optional: remove the tap
For other platforms or if you prefer not to use Homebrew:
- Pre-built binaries: Download from thereleases page
- Build from source: Clone the repository and runcargo build --release
~/Library/Application Support/Claude/claude_desktop_config.json:
{ "mcpServers": { "backlog": { "command": "/path/to/target/release/mcp-backlog-server", "args": [], "env": { "BACKLOG_BASE_URL": "https://your-space.backlog.com", "BACKLOG_API_KEY": "YOUR_BACKLOG_API_KEY", "BACKLOG_PROJECTS": "PROJ,DEMO", "BACKLOG_PREFIX": "backlog_" } } } }
Add the following to your Cline MCP configuration:
{ "mcpServers": { "backlog_mcp_server": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "/path/to/target/release/mcp-backlog-server", "args": [], "env": { "BACKLOG_BASE_URL": "https://your-space.backlog.com", "BACKLOG_API_KEY": "YOUR_BACKLOG_API_KEY", "BACKLOG_PROJECTS": "PROJ,DEMO", "BACKLOG_PREFIX": "backlog_" }, "transportType": "stdio" } } }
{ "mcpServers": { "backlog_mcp_server": { "command": "/path/to/target/release/mcp-backlog-server", "timeout": 10000, "args": [], "env": { "BACKLOG_BASE_URL": "https://your-space.backlog.com", "BACKLOG_API_KEY": "YOUR_BACKLOG_API_KEY", "BACKLOG_PROJECTS": "PROJ,DEMO", "BACKLOG_PREFIX": "backlog_" } } } }
Note: Domain name must be:backlog.com,backlog.jporbacklogtool.com
The following tools are grouped by their respective modules:
With the default configuration, you have access to36 toolsfor Backlog automation:
- Documents(5 tools): View document trees, get details, download attachments, add documents, delete documents
- Git/Pull Requests(8 tools): Manage repositories, PRs, comments, and attachments
- Issues(12 tools): View, create, update issues, manage comments, attachments, shared files, and priorities
- Projects(3 tools): Get project status, issue types, and custom field definitions
- Shared Files(2 tools): Browse and download project shared files
- Users(1 tool): List space users
- Wikis(5 tools): Manage wiki pages, attachments, and content updates
The server includes bothread operationsfor information gathering andwrite operationsfor taking actions.
Note: Tool names follow acategory_resource_actionpattern (e.g.,issue_details_get,wiki_update) to enable category-based filtering with--allowedTools(e.g.,claude --allowedTools "mcp__backlog__issue_").
- document_details_get: Retrieves details for a specific Backlog document
- document_attachment_download: Download a document attachment
- document_tree_get: Get the document tree for a specified project
- document_add: Add a new document to a Backlog project
- document_delete: Delete a document from Backlog
- git_repository_list_get: Get a list of Git repositories for a specified project
- git_repository_details_get: Get details for a specific Git repository
- git_pr_list_get: Get a list of pull requests for a specified repository
- git_pr_details_get: Get details for a specific pull request
- git_pr_attachment_list_get: Get a list of attachments for a specific pull request
- git_pr_comment_list_get: Get a list of comments for a specific pull request
- git_pr_attachment_download: Download a pull request attachment
- git_pr_comment_add: Add a comment to a specific pull request
- issue_details_get: Retrieves details for a specific Backlog issue
- issue_milestone_list_get: Retrieves a list of versions (milestones) for a specified project
- issue_list_by_milestone_get: Retrieves a list of issues associated with a specified milestone
- issue_update: Updates a Backlog issue including summary, description, and custom fields
- issue_comment_list_get: Gets comments for a specific issue
- issue_attachment_list_get: Get a list of attachments for a specified issue
- issue_attachment_download: Download an issue attachment
- issue_shared_file_list_get: Get a list of shared files linked to a specified issue
- issue_comment_update: Update an existing comment on a Backlog issue
- issue_add: Create a new issue in a Backlog project with support for custom fields
- issue_comment_add: Add a comment to a specific issue
- issue_priority_list_get: Get a list of priority types available in the space
- project_status_list_get: Get a list of statuses for a specified project
- project_issue_type_list_get: Get a list of issue types for a specified project
- project_custom_field_list_get: Get a list of custom fields defined for a specified project
- file_shared_list_get: Get a list of shared files for a specified project directory
- file_shared_download: Download a shared file
- user_list_get: Get a list of users in the space
- wiki_list_get: Get a list of wiki pages
- wiki_details_get: Get detailed information about a specific wiki page
- wiki_attachment_list_get: Get a list of attachments for a specified wiki page
- wiki_attachment_download: Download an attachment from a wiki page
- wiki_update: Update a wiki page
All file download tools (document_attachment_download,issue_attachment_download,git_pr_attachment_download,wiki_attachment_download, andfile_shared_download) support format detection and handling:
- Images: Files withimage/content type are detected and returned as base64-encoded images viarmcp::model::Content::image
- Text: Files with text-based content types (text/*,application/json,application/xml, etc.) or files that contain valid UTF-8 text are returned as plain text viarmcp::model::Content::text
- Raw bytes: All other files are returned as JSON objects with base64-encoded content, filename, and MIME type
You can explicitly specify the format using the optionalformatparameter:
- "image": Force treatment as an image (validates content type)
- "text": Force treatment as text (validates UTF-8 encoding)
- "raw": Force treatment as raw bytes (no validation)
The system uses multiple strategies to determine if a file is text:
- Content-Type header analysis
- UTF-8 validity checking
- Character composition analysis (graphic, whitespace, and valid UTF-8 characters)
# Default build (includes all writable features) cargo build --package mcp-backlog-server
The MCP server supports multiple feature flags to enable different write operations:
- Enables:issue_update,issue_comment_update,issue_add, andissue_comment_addtools
- Allows AI agents to create issues, modify issue content, and manage comments
- Enables:git_pr_comment_addtool
- Allows AI agents to add comments to pull requests
- Enables:wiki_updatetool
- Allows AI agents to update wiki page content, names, and notification settings
- Enables:document_addanddocument_deletetools
- Allows AI agents to create and delete documents
# Read-only mode (no write operations) cargo build --package mcp-backlog-server --no-default-features # Selective features cargo build --package mcp-backlog-server --features issue_writable cargo build --package mcp-backlog-server --features "issue_writable,git_writable" cargo build --package mcp-backlog-server --features "issue_writable,git_writable,wiki_writable,document_writable"
To run this server, the following environment variables must be set:
- BACKLOG_BASE_URL: The URL of your Backlog space (e.g.,https://your-space.backlog.com)
- BACKLOG_API_KEY: Your Backlog API key. You can issue one from your personal settings page in Backlog.
- BACKLOG_PROJECTS: Comma-separated list of allowed project keys (e.g.,MFP,DEMO,TEST). When set, the server will only allow access to the specified projects. If not set, all projects accessible with the API key are available.
- BACKLOG_PREFIX: Custom prefix for tool names (default:backlog_). For example, settingBACKLOG_PREFIX=""removes the prefix, making tools accessible asissue_details_getinstead ofbacklog_issue_details_get. SettingBACKLOG_PREFIX="my_"changes tools tomy_issue_details_get.
These environment variables are expected to be passed by the MCP client system when launching the server.
After setting the environment variables, you can run the server directly with the following command:
# Default run with all features BACKLOG_BASE_URL="https://your-space.backlog.com" \ BACKLOG_API_KEY="your_backlog_api_key" \ cargo run --package mcp-backlog-server
Integrates with the Backlog API to manage projects and issues.
Interact with the Backlog API to manage projects, issues, wikis, git repositories, and more.
Integrate with the Goodday project management platform to manage projects, tasks, and users via its API.
Manage time tracking, projects, clients, and tasks using the Harvest API.
Integrates with Jira's REST API to manage issues programmatically.
An API integration for the Zentao project management system, supporting task management and bug tracking.
Interact with the Taiga project management platform through an MCP bridge, allowing AI tools to manage project resources.
Interact with Yandex Tracker APIs for issue management and search.
Access the YouTrack REST API to manage projects and track issues in real-time.
Interact with task, doc, and project data in Dart, an AI-native project management tool
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



