Skip to main content
Glama

Redmine MCP Server

by yonaka15

Redmine MCP Server

This is a Model Context Protocol (MCP) server implementation for Redmine. It integrates with Redmine's REST API to provide ticket and project information to LLMs.

Features

Supports stable resources from Redmine REST API:

  • Issues (1.0~)
  • Projects (1.0~)
  • Users (1.1~)
  • Time Entries (1.1~)

Tools

Issues
  • Search Issues
    • Filter by project, status, assignee, etc.
    • Keyword search
    • Custom field support
  • Create/Update Issues
    • Set tracker, status, priority
    • Configure custom fields
    • Add comments
  • Delete Issues
Projects
  • Search Projects
    • Filter by active/archived/closed status
    • Keyword search
  • Get Project Details
    • Include trackers, categories information
  • Create/Update Projects
    • Configure modules and trackers
    • Set member inheritance
  • Archive/Unarchive Projects
  • Delete Projects
Time Entries
  • Search Time Entries
    • Filter by project, user, date range
  • Get Time Entry Details
  • Create/Update Time Entries
    • Record against project or issue
    • Specify activity
    • Custom field support
  • Delete Time Entries

Usage with Claude

To use this server with Claude, configure it as follows:

{ "mcp-server-redmine": { "command": "npx", "args": [ "-y", "--prefix", "/path/to/mcp-server-redmine", "mcp-server-redmine" ], "env": { "REDMINE_HOST": "https://your-redmine.example.com", "REDMINE_API_KEY": "your-api-key-here" } } }

Configuration Options

  • command: Command to execute the npm package
  • args:
    • -y: Auto-respond "yes" to prompts
    • --prefix: Specify installation directory
    • Last argument specifies the package name
  • env: Environment variables
    • REDMINE_HOST: Redmine server URL
    • REDMINE_API_KEY: Your Redmine API key

Setup

Getting an API Key

  1. Enable REST API in Redmine admin settings
  2. Get API key from user settings page

Environment Variables

Set the following environment variables:

  • REDMINE_API_KEY: API key obtained from Redmine user settings
  • REDMINE_HOST: Redmine server URL (e.g., https://redmine.example.com)

Testing

Unit Tests

# Run tests npm test

For data safety, only GET operations are included in tests.

Inspector Testing

Use MCP Inspector to verify functionality.

Use MCP Inspector to verify functionality.

GUI Mode
# Build npm run build # Set execute permission (important) chmod +x dist/index.js # Launch inspector npx @modelcontextprotocol/inspector dist/index.js
CLI Mode
CLI Testing Commands

Here are practical examples for testing the Redmine MCP Server using CLI mode.

Prerequisites:

# Build the project npm run build # Set execute permission chmod +x dist/index.js # Set environment variables export REDMINE_API_KEY=your-api-key-here export REDMINE_HOST=http://localhost:3000 # or your Redmine server URL

Basic Testing Commands:

  1. List available tools:
    npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/list
  2. Test Issues functionality:
    # List issues (with limit) npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_issues \ --tool-arg limit=5 # Get specific issue details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name get_issue \ --tool-arg id=1 # Filter issues by project npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_issues \ --tool-arg project_id=1 \ --tool-arg limit=3
  3. Test Projects functionality:
    # List all projects npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_projects # Get specific project details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name show_project \ --tool-arg id=1
  4. Test Users functionality (requires admin privileges):
    # List users npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_users # Get specific user details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name show_user \ --tool-arg id=1
  5. Test Time Entries functionality:
    # List time entries npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_time_entries \ --tool-arg limit=5 # Get specific time entry details npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name show_time_entry \ --tool-arg id=1

Advanced Testing:

# Filter issues by status npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_issues \ --tool-arg status_id=1 \ --tool-arg limit=5 # Search issues by keyword npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_issues \ --tool-arg subject="bug" \ --tool-arg limit=3 # Get time entries for specific project npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/call \ --tool-name list_time_entries \ --tool-arg project_id=1 \ --tool-arg limit=10

Troubleshooting:

  • Connection issues: Verify your Redmine server is running and accessible:
    curl -H "X-Redmine-API-Key: $REDMINE_API_KEY" \ "$REDMINE_HOST/projects.json"
  • Permission errors: Some operations require administrator privileges. Check your API key permissions in Redmine.
  • Environment variables: Ensure environment variables are properly set:
    echo $REDMINE_API_KEY echo $REDMINE_HOST
  • Build issues: Make sure the project is built and permissions are set:
    npm run build chmod +x dist/index.js ls -la dist/index.js

Permissions

Some features require administrator privileges:

  • list_users: Admin required
  • create_user: Admin required
  • update_user: Admin required
  • delete_user: Admin required

Available information varies based on user permission levels. For details, see Redmine API Documentation.

Development

Requirements

  • Node.js 18 or higher
  • npm 9 or higher

Libraries

  • @modelcontextprotocol/sdk: MCP SDK
  • zod: Schema validation
  • typescript: Type system

Directory Structure

. ├── src/ │ ├── tools/ # Tool definitions │ │ ├── issues.ts │ │ ├── projects.ts │ │ ├── time_entries.ts │ │ └── index.ts │ ├── formatters/ # Formatters │ │ ├── issues.ts │ │ ├── projects.ts │ │ ├── time_entries.ts │ │ └── index.ts │ ├── lib/ # Common libraries │ │ ├── client.ts # Redmine API client │ │ ├── config.ts # Configuration management │ │ └── types.ts # Type definitions │ ├── handlers.ts # Request handlers │ └── index.ts # Entry point ├── docs/ │ └── adr/ # Architecture Decision Records ├── package.json # Project configuration ├── tsconfig.json # TypeScript configuration └── README.md # Documentation

Building

# Install dependencies npm install # Build npm run build # Start development server npm run dev

Architecture Decision Records

Major design decisions are documented in docs/adr. Refer to these documents when adding or modifying features.

License

MIT

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер Model Context Protocol для взаимодействия с Redmine с использованием REST API, позволяющий управлять тикетами, проектами и пользовательскими данными посредством интеграции с LLM.

  1. Функции
    1. Инструменты
  2. Использование с Клодом
    1. Параметры конфигурации
  3. Настраивать
    1. Получение API-ключа
    2. Переменные среды
  4. Тестирование
    1. Тесты модулей
    2. Инспектор Тестирования
  5. Разрешения
    1. Операции, связанные с пользователем
  6. Разработка
    1. Требования
    2. Библиотеки
    3. Структура каталога
    4. Здание
    5. Записи архитектурных решений
  7. Лицензия
    1. Связанные проекты

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that provides access to MongoDB databases. This server enables LLMs to inspect collection schemas and execute read-only queries.
        Last updated -
        8
        420
        262
        MIT License
        • Apple
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that gives LLMs the ability to interact with Ethereum networks, manage wallets, query blockchain data, and execute smart contract operations through a standardized interface.
        Last updated -
        45
        4
        8
        MIT License
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables LLMs to interact with databases (currently MongoDB) through natural language, supporting operations like querying, inserting, deleting documents, and running aggregation pipelines.
        Last updated -
        MIT License
        • Apple
      • A
        security
        F
        license
        A
        quality
        A Model Context Protocol server that allows interaction with the RubyGems.org API to fetch metadata about Ruby packages, search gems, and explore dependencies and ownership information.
        Last updated -
        6
        • Apple

      View all related MCP servers

      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/yonaka15/mcp-server-redmine'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server