Redmine MCP Server について
Redmine MCP Server は、Redmine REST API のチケットやプロジェクトの情報を LLM に提供する MCP サーバーです。AI アシスタントから Redmine の課題、プロジェクト、ユーザー、時間記録を照会または管理したい利用者を対象としています。
主な機能
- 01課題の検索、作成、更新、削除
- 02プロジェクトの照会、作成、アーカイブ、設定
- 03時間記録の登録と絞り込み
- 04課題と時間記録のカスタムフィールド対応
- 05管理者権限が必要なユーザー情報の照会
活用シーン
- 01AI アシスタントからステータスや担当者で Redmine の課題を検索
- 02MCP ツール経由で課題へのコメント追加やフィールド更新
- 03日付範囲を指定したプロジェクトの時間記録の確認
MCP 対応
本プロジェクトは MCP サーバーであり、Redmine REST API の操作を MCP クライアントから呼び出せるツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Redmine MCP サーバー
Redmine 用の Model Context Protocol(MCP)サーバー実装です。Redmine の REST API と連携し、LLM にチケットやプロジェクトの情報を提供します。
機能
Redmine REST API の安定したリソースに対応しています。
- チケット(1.0~)
- プロジェクト(1.0~)
- ユーザー(1.1~)
- 時間記録(1.1~)
ツール
チケット
- チケットの検索
- プロジェクト、ステータス、担当者などで絞り込み
- キーワード検索
- カスタムフィールドに対応
- チケットの作成/更新
- トラッカー、ステータス、優先度を設定
- カスタムフィールドを設定
- コメントを追加
- チケットの削除
プロジェクト
- プロジェクトの検索
- アクティブ/アーカイブ済み/クローズ済みのステータスで絞り込み
- キーワード検索
- プロジェクトの詳細を取得
- トラッカー、カテゴリの情報を含む
- プロジェクトの作成/更新
- モジュールとトラッカーを設定
- メンバーの継承を設定
- プロジェクトのアーカイブ/アーカイブ解除
- プロジェクトの削除
時間記録
- 時間記録の検索
- プロジェクト、ユーザー、日付範囲で絞り込み
- 時間記録の詳細を取得
- 時間記録の作成/更新
- プロジェクトまたはチケットに記録
- 作業分類を指定
- カスタムフィールドに対応
- 時間記録の削除
Claude での使用
このサーバーを Claude で使用するには、次のように設定します。
{
"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"
}
}
}
設定オプション
command:npm パッケージを実行するコマンドargs:-y:プロンプトに「yes」と自動で応答します--prefix:インストール先ディレクトリを指定します- 最後の引数でパッケージ名を指定します
env:環境変数REDMINE_HOST:Redmine サーバーの URLREDMINE_API_KEY:Redmine API キー
セットアップ
API キーの取得
- Redmine の管理者設定で REST API を有効にします
- ユーザー設定ページから API キーを取得します
環境変数
次の環境変数を設定します。
REDMINE_API_KEY:Redmine のユーザー設定から取得した API キーREDMINE_HOST:Redmine サーバーの URL(例:https://redmine.example.com)
テスト
単体テスト
# Run tests
npm test
データの安全性を確保するため、テストには GET 操作のみを含めています。
Inspector によるテスト
MCP Inspector を使用して機能を確認します。
MCP Inspector を使用して機能を確認します。
GUI モード
# Build
npm run build
# Set execute permission (important)
chmod +x dist/index.js
# Launch inspector
npx @modelcontextprotocol/inspector dist/index.js
CLI モード
CLI テストコマンド
CLI モードを使って Redmine MCP サーバーをテストする実用的な例を紹介します。
前提条件:
# 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
基本的なテストコマンド:
-
利用可能なツールを一覧表示:
npx @modelcontextprotocol/inspector --cli \ -e REDMINE_API_KEY=$REDMINE_API_KEY \ -e REDMINE_HOST=$REDMINE_HOST \ node dist/index.js \ --method tools/list -
チケット機能をテスト:
# 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 -
プロジェクト機能をテスト:
# 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 -
ユーザー機能をテスト(管理者権限が必要):
# 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 -
時間記録機能をテスト:
# 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
高度なテスト:
# 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
トラブルシューティング:
-
接続の問題:Redmine サーバーが稼働しており、アクセス可能であることを確認します。
curl -H "X-Redmine-API-Key: $REDMINE_API_KEY" \ "$REDMINE_HOST/projects.json" -
権限エラー:一部の操作には管理者権限が必要です。Redmine で API キーの権限を確認してください。
-
環境変数:環境変数が正しく設定されていることを確認します。
echo $REDMINE_API_KEY echo $REDMINE_HOST -
ビルドの問題:プロジェクトがビルドされ、権限が設定されていることを確認します。
npm run build chmod +x dist/index.js ls -la dist/index.js
権限
一部の機能には管理者権限が必要です。
ユーザー関連の操作
list_users:管理者権限が必要create_user:管理者権限が必要update_user:管理者権限が必要delete_user:管理者権限が必要
利用可能な情報は、ユーザーの権限レベルによって異なります。詳細については、Redmine API Documentation を参照してください。
開発
要件
- Node.js 18 以降
- npm 9 以降
ライブラリ
@modelcontextprotocol/sdk:MCP SDKzod:スキーマ検証typescript:型システム
ディレクトリ構成
.
├── 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
ビルド
# Install dependencies
npm install
# Build
npm run build
# Start development server
npm run dev
アーキテクチャ決定記録
主要な設計上の決定は docs/adr に記録されています。機能を追加または変更する際は、これらのドキュメントを参照してください。
ライセンス
MIT
関連プロジェクト
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。