Skip to content

newmanspace/redmine-mcp-server

Β 
Β 

Repository files navigation

Redmine MCP Server

PyPI Version License Python Version GitHub Issues CI Workflow


🌐 Language / 语言


Redmine MCP Server is an enterprise-grade Model Context Protocol (MCP) suite designed for deep integration with Redmine project management systems. Beyond simple API bridging, it features a native Data Warehouse, a 4-layer ETL Pipeline, and an AI-Native Report Builder to empower LLMs with real-time analytical and reporting capabilities.

mcp-name: io.github.jztan/redmine-mcp-server

πŸ—οΈ System Architecture

1. Functional Module Diagram

graph TD %% Interaction Hub (Top) Client[MCP Client: Claude/VSCode/etc] --> MCP[MCP Interaction Hub: FastMCP] %% Business & Intelligence (Middle: Top-Down) subgraph CoreLayer [Core Business Logic] direction TB Biz[Business Engine: Issue/Wiki/Search] Intel[Data Intelligence: ETL/SQL/AI Report] Biz <--> Intel end %% Peripherals (Left/Right: Side-by-Side) subgraph IntegrationLayer [Peripheral Integration] direction LR Redmine[Redmine REST API] Push[Push Channels: Email/DingTalk/TG] end %% Persistence (Bottom) subgraph StorageLayer [Storage Layer] DB[(PostgreSQL Data Warehouse)] end %% Global Connections MCP --> Biz MCP --> Intel Biz <--> Redmine Intel --> DB Intel --> Push 
Loading

2. Data Flow Architecture

graph TD RedmineAPI[Redmine REST API] --> Server[Redmine MCP Server] Server --> Warehouse[PostgreSQL Data Warehouse] subgraph Data Pipeline (ETL) RedmineAPI -- "ODS (Raw Sync)" --> Warehouse Warehouse -- "DWD (Detail)" --> Warehouse Warehouse -- "DWS (Summary)" --> Warehouse Warehouse -- "ADS (App Service)" --> Warehouse end Server --> Scheduler[APScheduler: Tasks & Subscriptions] Scheduler --> Email[Email/DingTalk/Telegram Push] 
Loading

πŸš€ Key Features

  • Enterprise Analytics Engine: Synchronizes active projects to a PostgreSQL data warehouse (ODS/DWD/DWS/ADS layers), enabling sub-second analytical queries that standard REST APIs cannot handle.
  • AI-Native Report Builder: Template-driven report generation (using Jinja2 + SQL + Python logic) specifically designed for LLMs to create "Projects Daily/Weekly/Monthly" analysis.
  • Automated Multi-Channel Push: Built-in subscription manager supporting report delivery via Email, DingTalk, and Telegram at scheduled intervals.
  • ** Massive Toolset (38 Core Interfaces)**: A comprehensive library including issue management, wiki operations, global search, file serving, and full ETL orchestration.
  • Production-Ready Security: Out-of-the-box support for mTLS (Client certificates), SSL/TLS certificate validation, and API-key-based secure access.

⚑ Quick Start (Recommended)

The full feature set (Warehouse + AI Reports) requires PostgreSQL. Docker Compose is the most reliable way to start.

  1. Configure Environment

    git clone https://github.com/newmanspace/redmine-mcp-server.git cd redmine-mcp-server cp .env.example .env # Edit .env with your REDMINE_URL and REDMINE_API_KEY
  2. Launch Services

    docker compose up -d
  3. Verify Health

    curl http://localhost:8000/health # Expected response: {"status":"healthy","version":"0.10.0",...}
  4. Add to MCP Client Register the server endpoint: http://localhost:8000/mcp

βš™οΈ Environment Configuration

Variable Required Default Description
REDMINE_URL βœ… – Redmine server base URL
REDMINE_API_KEY βœ… – API key for authentication
WAREHOUSE_DB_HOST ❌ warehouse-db PostgreSQL host for data warehouse
EMAIL_SMTP_SERVER ❌ – SMTP server for report delivery
SUBSCRIPTION_SCHEDULER_ENABLED ❌ true Enable automatic report sending
WAREHOUSE_SYNC_ENABLED ❌ true Enable background data sync

πŸ› οΈ MCP Toolset (38 Core Interfaces Checklist)

Based on the official FastMCP tool manifest, categorized into 7 major functional domains:

1. 🎫 Project & Issue Management (Core Operations)

  • list_redmine_projects: Global project overview and auditing.
  • list_my_redmine_issues: Efficiently paginated task list from the current user's perspective.
  • get_redmine_issue / search_redmine_issues: Core retrieval and text search.
  • create_redmine_issue / update_redmine_issue: Complete task lifecycle management.

πŸ“– 2. Wiki & Global Search (Knowledge Base)

  • get_redmine_wiki_page / create_redmine_wiki_page / update_redmine_wiki_page: Comprehensive Wiki operations.
  • search_entire_redmine: Global cross-resource search engine (Required Redmine 3.3+).

πŸ“Š 3. Data Insight & SQL Discovery (Analytical Layer)

  • get_redmine_data_catalog: Explore the warehouse schema (warehouse/ods/dwd/dws/ads).
  • search_redmine_data_catalog: Search for specific warehouse tables or columns.
  • execute_redmine_sql_query: Sub-second analytical SQL execution.

πŸ€– 4. AI Report Builder & Expert Mode (Template Management)

  • list_redmine_report_templates / save_redmine_report_template: Enumeration and persistence of templates.
  • preview_redmine_template / execute_redmine_report_template: Report preview and final delivery.
  • run_redmine_template_now / get_redmine_report_template: Instant execution of persisted logic.
  • Versioning: get_redmine_template_versions / rollback_redmine_template_version / compare_redmine_template_versions: Change auditing and zero-downtime rollbacks for reports.
  • activate_redmine_template_version / get_redmine_active_template_version: Locking production versions.

πŸ“… 5. Subscription & Delivery (Automation)

  • subscribe_project / subscribe_redmine_template: Establishment of personalized report triggers.
  • list_my_subscriptions / unsubscribe_project: Audit and automated cleanup of channels.
  • test_email_service: Instant verification of enterprise notification bridges (Email/SMTP).
  • send_redmine_subscription_reports / send_project_report_email: Manual override for instant delivery tasks.
  • get_subscription_scheduler_status: Monitoring the status of the automated delivery system.

βš™οΈ 6. ETL Pipeline & System Control (Orchestration)

  • get_etl_dashboard / get_etl_history: Pipeline visualizationηœ‹ζΏ and full-process audit logs.
  • etl_project_backfill / etl_project_rerun: Historical data backfilling and online logic correction.
  • trigger_scheduled_sync: Manual trigger of orchestrator tasks (Incremental/Full/Stepwise).

🌍 Internationalization (i18n)

Built with global teams in mind:

  • Language Selection: Standardize report outputs in en_US or zh_CN via the language parameter.
  • Timezones: Optimized for collaborative environments with correct timestamping across layers.

🀝 Contributing

We welcome professional contributions! Please refer to the Contributing Guide for architecture details and best practices.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Production-ready MCP server for Redmine with security, pagination, and enterprise features

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 86.6%
  • Shell 10.3%
  • PLpgSQL 2.9%
  • Dockerfile 0.2%