backlog-mcp-server
by mcpflow
README.md
# Backlog MCP Server
An MCP server implementation that integrates the Backlog API.
## Tools
### Project API
- **backlog_get_projects**
- Execute projects get with pagination and filtering
- **backlog_get_project**
- Execute project gets with project id or key
### Issue API
- **backlog_get_issues**
- Execute issues get with pagination and filtering
- **backlog_get_issue**
- Execute issue gets with issue id or key
- **backlog_add_issue**
- Execute issue add with issue data
- **backlog_update_issue**
- Execute issue update with issue data
- **backlog_delete_issue**
- Execute issue delete with issue id or key
### Wiki API
- **backlog_get_wikis**
- Execute wikis get with keyword
- **backlog_get_wiki**
- Execute wiki gets with wiki id or key
- **backlog_add_wiki**
- Execute wiki add with wiki data
- **backlog_update_wiki**
- Execute wiki update with wiki data
- **backlog_delete_wiki**
- Execute wiki delete with wiki id or key
## Configuration
### Getting an API Key
1. Sign up for a [Backlog](https://backlog.com)
2. Choose a plan (Free plan available [here](https://registerjp.backlog.com/trial/with-new-account/plan/11))
3. Generate your API key from the individual settings [help](https://support-ja.backlog.com/hc/ja/articles/360035641754-API%E3%81%AE%E8%A8%AD%E5%AE%9A)
### Environment Variables
This server requires the following environment variables:
- `BACKLOG_API_KEY`: Your Backlog API key
- `BACKLOG_SPACE_ID`: Your Backlog space ID
### Usage with Claude Desktop
Add this to your `claude_desktop_config.json`:
#### NPX
```json
{
"mcpServers": {
"backlog": {
"command": "npx",
"args": [
"-y",
"backlog-mcp-server"
],
"env": {
"BACKLOG_API_KEY": "YOUR_API_KEY_HERE",
"BACKLOG_SPACE_ID": "YOUR_SPACE_ID_HERE"
}
}
}
}
```
#### Docker
```json
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BACKLOG_API_KEY=YOUR_API_KEY_HERE",
"-e",
"BACKLOG_SPACE_ID=YOUR_SPACE_ID_HERE",
"mcp/backlog"
],
"env": {
"BACKLOG_API_KEY": "YOUR_API_KEY_HERE",
"BACKLOG_SPACE_ID": "YOUR_SPACE_ID_HERE"
}
}
}
}
```
## Development
### Installation
```bash
npm install
```
### Build
```bash
npm run build
```
### Debug
```bash
npm run debug
```
### Running Tests
T.B.D
### Docker Build
```bash
docker build -t mcp/backlog -f Dockerfile .
```
## Extending the Server
To add new tools:
1. Define a new Zod schema in `src/core/schema.ts`
2. Add a new tool definition in `src/tools/toolDefinitions.ts` and include it in `ALL_TOOLS`
3. Create a new handler in `src/tools/handlers.ts` and register it in `toolHandlers`
4. Implement business logic in a service in the `src/services/` directory
## License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
TDQS
B3.3/5.0
Scored across 12 tools
Disambiguation5/5
All tools are clearly divided into three distinct domains (projects, issues, wikis), with each tool having a unique verb-noun combination that prevents ambiguity.
Naming Consistency5/5
All tool names follow the 'backlog_verb_noun' pattern using snake_case, ensuring predictability and consistency across the entire set.
Tool Count5/5
With 12 tools covering three core domains, the count is well-scoped for a Backlog server without being excessive or insufficient.
Completeness4/5
Issues and wikis have full CRUD plus list operations, but projects lack create/update/delete, leaving a minor gap in lifecycle coverage.
Maintenance
ActivityInactive
ResponsivenessSyncing