Отставание MCP-сервера
Сервер Model Context Protocol (MCP) для взаимодействия с API Backlog. Этот сервер предоставляет инструменты для управления проектами, проблемами, вики-страницами и многим другим в Backlog через агентов ИИ, таких как Claude Desktop / Cline / Cursor и т. д.
Функции
Управление проектами (создание, чтение, обновление, удаление)
Отслеживание проблем (создание, обновление, удаление, список)
Управление вики-страницей
Управление репозиторием Git
Управление запросами на включение изменений (создание, обновление, составление списка, комментирование)
Управление уведомлениями
Управление списком наблюдения
Выбор полей в стиле GraphQL для оптимизированных ответов
Ограничение токенов для больших ответов
Улучшенная обработка ошибок
И другие интеграции API Backlog
Related MCP server: API Tester MCP Server
Требования
Докер
Учетная запись Backlog с доступом к API
API-ключ из вашего аккаунта Backlog
Установка
Вариант 1: Установка через Docker
Самый простой способ использования этого сервера MCP — через настройку MCP для Claude Desktop или Cline:
Откройте настройки Claude Desktop или Cline.
Перейдите в раздел конфигурации MCP.
Добавьте следующую конфигурацию:
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "BACKLOG_DOMAIN",
"-e", "BACKLOG_API_KEY",
"ghcr.io/nulab/backlog-mcp-server"
],
"env": {
"BACKLOG_DOMAIN": "your-domain.backlog.com",
"BACKLOG_API_KEY": "your-api-key"
}
}
}
}Замените your-domain.backlog.com на ваш домен Backlog, а your-api-key на ваш ключ API Backlog.
Расширенные параметры конфигурации
Это экспериментальный подход, а не стандартный способ уменьшения размера контекстного окна. Если у вас возникли проблемы с использованием этого MCP с любыми агентами ИИ, попробуйте изменить следующие настройки. Вы можете добавить дополнительные параметры для настройки поведения сервера:
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "BACKLOG_DOMAIN",
"-e", "BACKLOG_API_KEY",
"-e", "MAX_TOKENS",
"-e", "OPTIMIZE_RESPONSE",
"ghcr.io/nulab/backlog-mcp-server"
],
"env": {
"BACKLOG_DOMAIN": "your-domain.backlog.com",
"BACKLOG_API_KEY": "your-api-key",
"MAX_TOKENS": "10000",
"OPTIMIZE_RESPONSE": "true"
}
}
}
}MAX_TOKENS: Максимальное количество токенов, разрешенных в ответах (по умолчанию: 50000)OPTIMIZE_RESPONSE: включить выбор полей в стиле GraphQL для оптимизации размера ответа (по умолчанию: false)
Поддержание образа Docker в актуальном состоянии
По умолчанию Docker будет использовать локально кэшированный образ, если он уже был извлечен ранее. Чтобы убедиться, что вы всегда используете последнюю версию ghcr.io/nulab/backlog-mcp-server , рассмотрите один из следующих методов:
Вариант 1: --pull always (рекомендуется)
Если вы используете Docker 20.10 или более позднюю версию, вы можете изменить массив args , включив в него флаг --pull always :
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"--pull", "always",
"-i",
"--rm",
"-e", "BACKLOG_DOMAIN",
"-e", "BACKLOG_API_KEY",
"ghcr.io/nulab/backlog-mcp-server"
],
"env": {
"BACKLOG_DOMAIN": "your-domain.backlog.com",
"BACKLOG_API_KEY": "your-api-key"
}
}
}
}Это гарантирует, что Docker всегда извлекает последний образ из GitHub Container Registry перед запуском.
Вариант 2: Извлечь последнее изображение вручную
Если ваша версия Docker не поддерживает --pull always, вы можете вручную загрузить последний образ перед запуском сервера:
docker pull ghcr.io/nulab/backlog-mcp-server:latestВариант 2: Ручная установка
Клонируйте репозиторий:
git clone https://github.com/nulab/backlog-mcp-server.git cd backlog-mcp-serverУстановите зависимости:
npm installСоздайте проект:
npm run buildНастройте свой json для использования в качестве MCP
{
"mcpServers": {
"backlog": {
"command": "node",
"args": [
"your-repository-location/build/index.js"
],
"env": {
"BACKLOG_DOMAIN": "your-domain.backlog.com",
"BACKLOG_API_KEY": "your-api-key"
}
}
}
}Доступные инструменты
Сервер предоставляет следующие инструменты для взаимодействия с Backlog:
Космические инструменты
Название инструмента | Описание |
| Возвращает информацию о пространстве Backlog |
| Возвращает список пользователей в области Backlog |
| Возвращает информацию об аутентифицированном пользователе |
| Возвращает список приоритетов |
| Возвращает список решений проблем |
| Возвращает список типов проблем для проекта |
Инструменты проекта
Название инструмента | Описание |
| Возвращает список проектов |
| Создает новый проект |
| Возвращает информацию о конкретном проекте |
| Обновляет существующий проект |
| Удаляет проект |
| Возвращает список пользовательских полей для проекта |
Инструменты для выпуска
Название инструмента | Описание |
| Возвращает информацию о конкретной проблеме |
| Возвращает список проблем |
| Возвращает количество проблем |
| Создает новую проблему в указанном проекте. |
| Обновляет существующую проблему |
| Удаляет проблему |
Инструменты для комментирования
Название инструмента | Описание |
| Возвращает список комментариев к проблеме |
| Добавляет комментарий к проблеме |
Вики-инструменты
Название инструмента | Описание |
| Возвращает список страниц Wiki |
| Возвращает количество вики-страниц в проекте |
| Возвращает информацию о конкретной странице вики |
| Создает новую вики-страницу |
Категория Инструменты
Название инструмента | Описание |
| Возвращает список категорий для проекта |
Инструменты уведомлений
Название инструмента | Описание |
| Возвращает список уведомлений |
| Возвращает количество уведомлений |
| Сбросить количество непрочитанных уведомлений |
| Отметить уведомление как прочитанное |
Инструменты репозитория Git
Название инструмента | Описание |
| Возвращает список репозиториев Git для проекта |
| Возвращает информацию о конкретном репозитории Git |
Инструменты запроса на извлечение
Название инструмента | Описание |
| Возвращает список запросов на извлечение для репозитория |
| Возвращает количество запросов на извлечение для репозитория. |
| Возвращает информацию о конкретном запросе на извлечение |
| Создает новый запрос на извлечение |
| Обновляет существующий запрос на извлечение |
| Возвращает список комментариев для запроса на извлечение |
| Добавляет комментарий к запросу на извлечение |
| Обновляет комментарий к запросу на извлечение |
Инструменты для наблюдения
Название инструмента | Описание |
| Возвращает список отслеживаемых элементов для пользователя |
| Возвращает количество отслеживаемых элементов для пользователя. |
Примеры использования
После настройки сервера MCP в агентах AI вы можете использовать инструменты непосредственно в своих разговорах. Вот несколько примеров:
Листинг проектов
Could you list all my Backlog projects?Создание нового выпуска
Create a new bug issue in the PROJECT-KEY project with high priority titled "Fix login page error"Получение подробностей проекта
Show me the details of the PROJECT-KEY projectРабота с репозиториями Git
List all Git repositories in the PROJECT-KEY projectУправление запросами на извлечение
Show me all open pull requests in the repository "repo-name" of PROJECT-KEY projectCreate a new pull request from branch "feature/new-feature" to "main" in the repository "repo-name" of PROJECT-KEY projectПросмотр элементов
Show me all items I'm watching Использование выбора поля
Если опция OPTIMIZE_RESPONSE включена, вы можете указать, какие поля вы хотите извлечь, используя синтаксис в стиле GraphQL:
Show me the details of the PROJECT-KEY project, but only include the name, key, and description fieldsИИ будет использовать выбор поля для оптимизации ответа:
get_project(projectIdOrKey: "PROJECT-KEY", fields: "{ name key description }")Это сокращает размер ответа и время обработки, особенно для крупных объектов.
Расширенные функции
Оптимизация ответа
Выбор поля
При включении OPTIMIZE_RESPONSE=true вы можете использовать синтаксис в стиле GraphQL для выбора определенных полей:
{
id
name
description
users {
id
name
}
}Это позволяет вам:
Уменьшите размер ответа, запрашивая только необходимые поля.
Сосредоточьтесь на конкретных точках данных
Повышение производительности для больших ответов
Ограничение токенов
Большие ответы автоматически ограничиваются, чтобы не допустить превышения лимита токенов:
Лимит по умолчанию: 50 000 токенов
Настраивается через переменную среды
MAX_TOKENSОтветы, превышающие лимит, обрезаются сообщением.
i18n / Переопределение описаний
Вы можете переопределить описания инструментов, создав файл .backlog-mcp-serverrc.json в своем домашнем каталоге .
Файл должен содержать объект JSON с названиями инструментов в качестве ключей и новыми описаниями в качестве значений.
Например:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "An alternative description",
"TOOL_CREATE_PROJECT_DESCRIPTION": "Create a new project in Backlog"
}При запуске сервера он определяет окончательное описание для каждого инструмента на основе следующего приоритета:
Переменные среды (например,
BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION)Записи в
.backlog-mcp-serverrc.json- Поддерживаемые форматы файлов конфигурации: .json, .yaml, .ymlВстроенные резервные значения (английский)
Пример конфигурации:
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "BACKLOG_DOMAIN",
"-e", "BACKLOG_API_KEY",
"-v", "/yourcurrentdir/.backlog-mcp-serverrc.json:/root/.backlog-mcp-serverrc.json:ro",
"ghcr.io/nulab/backlog-mcp-server"
],
"env": {
"BACKLOG_DOMAIN": "your-domain.backlog.com",
"BACKLOG_API_KEY": "your-api-key"
}
}
}
}Экспорт текущих переводов
Вы можете экспортировать текущие переводы по умолчанию (включая любые переопределения), запустив двоичный файл с флагом --export-translations.
Это выведет все описания инструментов на стандартный вывод, включая любые сделанные вами настройки.
Пример:
docker run -i --rm ghcr.io/nulab/backlog-mcp-server node build/index.js --export-translationsили
npx github:nulab/backlog-mcp-server --export-translationsИспользование шаблона перевода на японский язык
Образец файла конфигурации на японском языке доступен по адресу:
translationConfig/.backlog-mcp-serverrc.json.exampleЧтобы использовать его, скопируйте его в свой домашний каталог как .backlog-mcp-serverrc.json:
Затем вы можете отредактировать файл, чтобы настроить описания по мере необходимости.
Использование переменных среды
Кроме того, вы можете переопределить описания инструментов с помощью переменных среды.
Имена переменных среды основаны на ключах инструментов, имеют префикс BACKLOG_MCP_ и пишутся заглавными буквами.
Пример: Чтобы переопределить TOOL_ADD_ISSUE_COMMENT_DESCRIPTION:
{
"mcpServers": {
"backlog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "BACKLOG_DOMAIN",
"-e", "BACKLOG_API_KEY",
"-e", "BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION"
"ghcr.io/nulab/backlog-mcp-server"
],
"env": {
"BACKLOG_DOMAIN": "your-domain.backlog.com",
"BACKLOG_API_KEY": "your-api-key",
"BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "An alternative description"
}
}
}
}Сервер загружает файл конфигурации синхронно при запуске.
Переменные среды всегда имеют приоритет над файлом конфигурации.
Разработка
Проведение тестов
npm testДобавление новых инструментов
Создайте новый файл в
src/tools/по образцу существующих инструментов.Создайте соответствующий тестовый файл
Добавьте новый инструмент в
src/tools/tools.tsСоздавайте и тестируйте свои изменения
Параметры командной строки
Сервер поддерживает несколько параметров командной строки:
--export-translations: экспортировать все ключи и значения перевода--optimize-response: включить выбор полей в стиле GraphQL--max-tokens=NUMBER: Установить максимальный лимит токенов для ответов
Пример:
node build/index.js --optimize-response --max-tokens=100000Лицензия
Данный проект лицензирован в соответствии с лицензией MIT .
Обратите внимание: этот инструмент предоставляется по лицензии MIT без каких-либо гарантий или официальной поддержки .
Используйте его на свой страх и риск, предварительно ознакомившись с его содержимым и определив его пригодность для ваших нужд.
Если у вас возникнут какие-либо проблемы, сообщите о них через GitHub Issues .