mcp-redmine
mcp-redmine
Сервер Model Context Protocol, который подключает Claude (Desktop или Code) — или любой другой MCP-клиент — к экземпляру Redmine через его REST API.
Он предоставляет 73 инструмента, охватывающих на практике весь стабильный REST API Redmine: задачи, связи, проекты, членство, версии, категории, пользователи, группы, роли, wiki, учёт времени, вложения, файлы проектов, новости и поиск. Направьте своего агента на проект Redmine, и он сможет читать и управлять задачами, вести учёт времени, редактировать страницы wiki и администрировать пользователей — всё через естественный диалог.
Возможности
Полный охват чтения и записи задач, включая массовые обновления, связи и наблюдателей.
Администрирование проектов: создание/обновление/архивация проектов, управление участниками, версиями и категориями.
Администрирование пользователей и групп, при этом намеренно отсутствуют инструменты «удалить пользователя» или «удалить проект» — см. Безопасность.
Wiki, включая вложенные страницы и файлы.
Учёт времени, вложения, файлы проектов, новости и полнотекстовый поиск.
Понятные ошибки: каждый сбой возвращается в виде понятного предложения, взятого из ответа валидации самого Redmine, а не сырого стектрейса.
Ничего не нужно запускать: один Python-процесс, общающийся через stdio с вашим MCP-клиентом — ни базы данных, ни сервера, ни Docker.
Related MCP server: redmine-mcp
Предварительные требования
Python 3.10+
Экземпляр Redmine с включённым REST API:
В Redmine перейдите в Администрирование → Настройки → API и включите «Включить веб-сервис REST» (если ещё не включено).
Перейдите в Моя учётная запись → Ключ доступа к API и скопируйте его.
Установка
Дистрибутив публикуется как mcp-redmine-rest, а команда, которую он
устанавливает, — mcp-redmine-rest. Более короткое имя mcp-redmine на PyPI принадлежит
не связанному проекту — не
устанавливайте его, если ожидаете этот сервер.
Если вы направляете ИИ-агента на этот репозиторий для выполнения установки, llms-install.md написан именно для этого.
С помощью uv (рекомендуется)
uv tool install mcp-redmine-restС помощью pip
pip install mcp-redmine-restИз исходников
git clone https://github.com/alsimoes/mcp-redmine-rest.git
cd mcp-redmine-rest
python3 -m venv venv && source venv/bin/activate # Linux/Mac
pip install -e .В Windows используйте py и PowerShell, а не оболочку Git Bash/WSL — создание
или пересоздание виртуального окружения из оболочки в стиле Unix в Windows перезаписывает
venv\pyvenv.cfg на путь home в стиле Unix, и каждый последующий запуск
venv\Scripts\python.exe завершается ошибкой No Python at '/usr/bin\python.exe' (или
похожей):
git clone https://github.com/alsimoes/mcp-redmine-rest.git
cd mcp-redmine-rest
py -3 -m venv venv
.\venv\Scripts\Activate.ps1
pip install -e .Конфигурация
Сервер читает переменные окружения:
Переменная | Обязательная | Описание |
| Да | Базовый URL вашего экземпляра Redmine (без завершающего слэша). |
| Да | Ваш ключ доступа к API, из раздела «Моя учётная запись → Ключ доступа к API». |
| Нет | Таймаут запроса в секундах. По умолчанию 15. |
| Нет | Каталоги, из которых инструменты загрузки файлов могут читать, разделённые |
Как убрать ключ из конфигурации клиента
Значения, отсутствующие в окружении, считываются из файла .env, поэтому ключ API
не обязан находиться в открытом виде в конфигурации вашего MCP-клиента.
Скопируйте .env.example в .env в корне репозитория и заполните его — тогда блок env
в конфигурации клиента можно полностью убрать:
REDMINE_URL=https://redmine.example.com
REDMINE_API_KEY=your_api_key_here
REDMINE_TIMEOUT=15Файл игнорируется git. Переменные, уже присутствующие в окружении, всегда
имеют приоритет, поэтому блок env в конфигурации клиента всё равно их переопределяет. Чтобы
хранить файл в другом месте, задайте REDMINE_ENV_FILE с полным путём к нему.
Это особенно важно для Claude Desktop: он запускает MCP-серверы с
минимальным окружением, которое формирует сам, поэтому переменные, экспортированные в вашей оболочке
или заданные через setx, до сервера не доходят. Используйте блок env или файл .env.
Claude Desktop
Отредактируйте (или создайте) файл конфигурации Claude Desktop:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"redmine": {
"command": "mcp-redmine-rest",
"env": {
"REDMINE_URL": "https://redmine.example.com",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}Если вы установили из исходников, а не через uv tool install / pip install, укажите command на интерпретатор в вашем виртуальном окружении и
передайте скрипт в качестве аргумента:
{
"mcpServers": {
"redmine": {
"command": "/full/path/to/mcp-redmine/venv/bin/python",
"args": ["-m", "mcp_redmine"],
"env": {
"REDMINE_URL": "https://redmine.example.com",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}В Windows укажите command на venv\Scripts\python.exe (с \\ экранированным
в JSON):
{
"mcpServers": {
"redmine": {
"command": "C:\\full\\path\\to\\mcp-redmine\\venv\\Scripts\\python.exe",
"args": ["-m", "mcp_redmine"],
"env": {
"REDMINE_URL": "https://redmine.example.com",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}Перезапустите Claude Desktop. После этого значок инструментов (🔨) должен показать инструменты Redmine как доступные.
Claude Code
claude mcp add redmine \
--env REDMINE_URL=https://redmine.example.com \
--env REDMINE_API_KEY=your_api_key_here \
-- mcp-redmine-restПодтвердите:
claude mcp listCline (VS Code)
Откройте настройки MCP через палитру — Ctrl+Shift+P → Cline: Open MCP
Config File — или нажмите на шестерёнку рядом с «MCP Servers» на боковой панели Cline
и выберите Configure MCP Servers. В любом случае откроется
cline_mcp_settings.json; добавьте сервер туда:
{
"mcpServers": {
"redmine": {
"command": "mcp-redmine-rest",
"env": {
"REDMINE_URL": "https://redmine.example.com",
"REDMINE_API_KEY": "your_api_key_here"
}
}
}
}Используйте команду палитры, а не редактирование файла вручную — он находится глубоко
в глобальном хранилище VS Code
(.../User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json),
и путь отличается в зависимости от платформы.
Если mcp-redmine-rest отсутствует в PATH, который видит VS Code, используйте
форму модуля — "command", указывающую на интерпретатор, где установлен пакет,
с аргументами "args": ["-m", "mcp_redmine"], точно как в примерах
для Claude Desktop выше.
Перезагрузите окно (Ctrl+Shift+P → Developer: Reload Window) — сервер
должен появиться как подключённый в разделе «MCP Servers». Более подробное руководство,
включая workspace-файл .mcp.json и интерфейс Add-Server, находится в
CLINE_SETUP.md.
Другие MCP-клиенты
Любой клиент, который умеет запускать локальный процесс и общаться по MCP через stdio, работает
точно так же: запустите mcp-redmine-rest (или python -m mcp_redmine) с
REDMINE_URL и REDMINE_API_KEY, заданными в его окружении.
Локальный запуск (необязательно)
Полезно для быстрой проверки работоспособности перед подключением сервера к клиенту:
cp .env.example .env # then edit .env with your values
export $(grep -v '^#' .env | xargs) # or use a tool like direnv
mcp-redmine-restЕсли ошибки соединения нет, сервер готов — он ожидает MCP-сообщения на stdin/stdout, так что отсутствие вывода в терминале — это нормально. Нажмите Ctrl+C для остановки.
Примеры использования
После настройки просто общайтесь с агентом:
«Перечисли открытые задачи, назначенные на меня, в проекте Website.»
«Создай ошибку в Website с заголовком "Кнопка входа не реагирует на мобильных", приоритет высокий.»
«Перемести задачи #101, #104 и #110 в статус "В работе" и назначь их Алисе.»
«Запиши 3,5 часа на задачу #204 за сегодня, деятельность "Разработка".»
«Что на странице wiki "Deployment" для проекта Infra?»
«Найди "timeout" во всех проектах.»
Доступные инструменты
73 инструмента, сгруппированных по ресурсам. Полный справочник — сигнатуры, параметры,
форма возвращаемых данных и важные оговорки (например, как precedes переносит сроки
задач, или что list_custom_fields требует прав администратора) — находится в
docs/TOOLS.md.
Ресурс | Инструменты |
Задачи |
|
Связи задач |
|
Проекты |
|
Участники проекта |
|
Версии |
|
Категории |
|
Пользователи |
|
Группы |
|
Роли |
|
Wiki |
|
Учёт времени |
|
Вложения |
|
Файлы проектов |
|
Новости |
|
Поиск |
|
Метаданные |
|
Покрытие API
{
"type": "text",
"text": "| Ресурс Redmine API | Статус |\n| --------------------------------------------------------- | ------------------------------------------------------------- |\n| Задачи | Полная (список, чтение, создание, обновление, массовые операции, удаление, наблюдатели) |\n| Связи задач | Полная |\n| Проекты | Полная кроме удаления |\n| Участники проекта | Полная |\n| Версии | Полная |\n| Категории задач | Полная |\n| Пользователи | Полная кроме удаления |\n| Группы | Полная |\n| Роли | Полная (API только для чтения) |\n| Вики | Полная, включая вложенность и вложения |\n| Вложения | Полная |\n| Файлы проекта | Полная |\n| Новости | Полная |\n| Учет времени | Полная |\n| Поиск и сохраненные запросы | Полная |\n| Трекеры, статусы, приоритеты, активности, настраиваемые поля | Полная (API только для чтения) |\n| Категории документов | Полная (API только для чтения) |\n\nОба упущения являются намеренными. delete_project и delete_user\nнеобратимы и удаляют вместе с собой чужой контент — задачи, записи времени,\nвики-страницы, авторство. archive_project и update_user с\nstatus=3 покрывают реальный сценарий использования обратимо. Настоящее удаление\nостается операцией веб-интерфейса, где подтверждение явное и человеческое. См.\nSECURITY.md для полного обоснования.\n\nТрекеры, статусы задач, приоритеты и роли не имеют операций записи в\nRedmine API — они настраиваются только в разделе «Администрирование». Это не\nпробел в данном сервере.\n\nВне стабильного REST API, и, следовательно, вне области действия этого сервера:\nрепозитории и наборы изменений, защита вики-страниц и экраны настроек всего\nэкземпляра.\n\n## Сообщения об ошибках\n\nОшибки обрабатываются централизованно: когда Redmine отклоняет вызов, сервер читает\nтело ответа — именно там находится реальное объяснение, в поле errors —\nи возвращает это предложение. Если тело ответа бесполезно, он возвращается к\nHTTP-статусу с вероятной причиной:\n\n| Статус | Сообщение |\n| ------ | --------------------------------------------------------------------------------- |\n| 401 | недействительный или отсутствующий API-ключ |\n| 403 | не разрешено выполнять эту операцию, или модуль отключен для этого проекта |\n| 404 | не найдено (проверьте ID, или эта конечная точка может не существовать в этой версии Redmine) |\n| 409 | конфликт — ресурс был изменен кем-то другим |\n| 422 | Redmine отклонил данные при проверке |\n\nЭто применимо к каждому инструменту, как для чтения, так и для записи.\n\n## Устранение неполадок\n\n* "REDMINE\_URL и REDMINE\_API\_KEY должны быть заданы": сервер проверяет свою\n конфигурацию при запуске и немедленно завершает работу с этим сообщением, а не\n запускается с ошибкой. Проверьте блок env в конфигурации вашего MCP-клиента.\n* Каждый вызов завершается сетевой ошибкой: убедитесь, что процесс сервера может\n действительно достичь REDMINE_URL — MCP-клиенты запускают сервер как локальный\n процесс, поэтому ему нужен такой же сетевой доступ, как и вашей машине, а не\n браузеру.\n* 401 при каждом вызове: неверный API-ключ, или "Enable REST web service"\n отключен в настройках Redmine.\n* 403 для конкретного инструмента: обычно это отсутствующее разрешение на роли\n пользователя, которому принадлежит API-ключ. get_role показывает точно, какие разрешения есть у\n роли.\n* Инструмент отвечает 404, хотя вы ожидаете, что он работает: несколько конечных точек\n (update_journal_note, update_news/delete_news,\n update_attachment) были добавлены в определенных версиях Redmine — см.\n docs/TOOLS.md для минимальной версии каждой из них.\n\n## Безопасность\n\nСм. SECURITY.md для полной модели. Короче говоря: API-ключ\nпредоставляет доступ, эквивалентный доступу пользователя, которому он принадлежит, поэтому создайте отдельного\nпользователя Redmine с ролью, ограниченной тем, что вы хотите, чтобы агент делал, и используйте\nключ этого пользователя — не пытайтесь ограничить агента, редактируя код этого сервера.\n\nЗагрузка файлов отключена, пока вы не установите REDMINE_UPLOAD_ROOTS.\nТри инструмента, которые загружают локальный файл (attach_file_to_issue,\nattach_file_to_wiki_page, upload_project_file), по умолчанию отказывают в любом пути,\nименно потому, что агент может быть направлен внедренным содержимым\n(комментарий к задаче, вики-страница) на загрузку файла, который он никогда не должен был\nчитать. См. SECURITY.md.\n\n## Вклад\n\nСм. CONTRIBUTING.md.\n\n## Лицензия\n\nMIT"
}
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
- FlicenseNot gradedqualityDmaintenanceAn MCP server providing 63 tools to interact with Redmine instances, covering issues, projects, time entries, and wiki pages. It utilizes streamable HTTP transport and supports per-client authentication for secure management of Redmine resources.20
- AlicenseNot gradedqualityAmaintenanceA stateless MCP server for Redmine that allows users to interact with issues, time entries, wiki, projects, and more via their own API keys.4MIT
- AlicenseBqualityDmaintenanceMCP server for Redmine project management, enabling tools for managing projects, issues, users, time entries, groups, memberships, versions, wiki, news, attachments, search, and Agile sprints via the Redmine REST API.8981MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Redmine that enables interaction with issues, wiki pages, and time entries through natural language.ISC
Related MCP Connectors
MCP Server for JFrog, providing tools for development and artifact management.
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
A MCP server built for developers enabling Git based project management with project and personal…
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/alsimoes/mcp-redmine-rest'
If you have feedback or need assistance with the MCP directory API, please join our Discord server