Skip to main content
Glama
utinou1860938

Redmine MCP Server

RedmineMCPサーバー

概要

RedmineMCPサーバーは、AIエージェントがRedmine APIを使用してRedmineプロジェクト管理ツールと連携するためのMCPサーバーです。

動作要件

  • Node.js 18.0.0 以上

セットアップ

1. 依存関係のインストール

npm install

2. 環境変数の設定

方法A: macOS Keychain を使う(推奨)

API キーをディスクに平文で保存せず、macOS Keychain で安全に管理します。

Step 1: REDMINE_BASE_URL を ~/.zshrc に登録

echo 'export REDMINE_BASE_URL="https://tech-saisoncard.cloudmine.jp"' >> ~/.zshrc
source ~/.zshrc

Step 2: REDMINE_API_KEY を Keychain に登録

# 対話形式で登録(API キーがシェル履歴に残らない)
security add-generic-password -s "redmine-api-key" -a "$USER" -w
# → プロンプトが表示されたら API キーを貼り付けて Enter

登録確認:

security find-generic-password -s "redmine-api-key" -w

Keychain の管理コマンド

# 削除
security delete-generic-password -s "redmine-api-key"

# 再登録
security add-generic-password -s "redmine-api-key" -a "$USER" -w

3. MCP設定(.mcp.json)

Claude Codeから使用するには、対象プロジェクトのルートに .mcp.json を作成します:

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["tsx", "/path/to/redmine-mcp-saerver/src/server.ts", "--", "--project=yumee"],
      "cwd": "/path/to/redmine-mcp-saerver"
    }
  }
}

4. Claude Code の起動

Keychain から API キーを取得して起動します:

REDMINE_API_KEY=$(security find-generic-password -s "redmine-api-key" -w) claude

便利なエイリアスを設定しておくと楽です:

# ~/.zshrc に追加
alias claude-redmine='REDMINE_API_KEY=$(security find-generic-password -s "redmine-api-key" -w) claude'

利用可能なツール

list_issues

Redmineのチケット一覧を取得します。

パラメータ:

  • status_id(任意): ステータスID(open, closed, * など)

  • assigned_to_id(任意): 担当者ID(me で自分)

  • limit(任意): 取得件数(デフォルト25、最大100)

  • offset(任意): オフセット

get_issue

Redmineのチケット詳細を取得します。

パラメータ:

  • issue_id(必須): チケットID

  • include(任意): 追加情報(children, attachments, relations, journals など、カンマ区切り)

create_issue

Redmineに新しいチケットを作成します。

パラメータ:

  • subject(必須): チケットの題名

  • description(任意): チケットの説明

  • tracker_id(任意): トラッカーID(1: バグ, 2: 機能, 3: サポート など)

  • status_id(任意): ステータスID

  • priority_id(任意): 優先度ID(1: 低め, 2: 通常, 3: 高め, 4: 急いで, 5: 今すぐ)

  • assigned_to_id(任意): 担当者ID

  • parent_issue_id(任意): 親チケットID

  • start_date(任意): 開始日(YYYY-MM-DD形式)

  • due_date(任意): 期日(YYYY-MM-DD形式)

  • estimated_hours(任意): 予定工数(時間)

update_issue

Redmineのチケットを更新します。

パラメータ:

  • issue_id(必須): チケットID

  • subject(任意): チケットの題名

  • description(任意): チケットの説明

  • tracker_id(任意): トラッカーID

  • status_id(任意): ステータスID

  • priority_id(任意): 優先度ID

  • assigned_to_id(任意): 担当者ID

  • done_ratio(任意): 進捗率(0-100)

  • notes(任意): コメント(更新時のメモ)

add_comment

Redmineのチケットにコメントを追加します。

パラメータ:

  • issue_id(必須): チケットID

  • notes(必須): コメント内容

search_issues

Redmineのチケットをキーワードで検索します。

パラメータ:

  • query(必須): 検索キーワード

  • status_id(任意): ステータスID(open, closed, * など)

  • limit(任意): 取得件数(デフォルト25、最大100)

list_attachments

チケットに添付されているファイル一覧を取得します。

パラメータ:

  • issue_id(必須): チケットID

download_attachment

添付ファイルをダウンロードしてローカルに保存します。保存後、Claude CodeのReadツールで内容を確認できます(画像も対応)。

パラメータ:

  • issue_id(必須): チケットID

  • attachment_id(必須): 添付ファイルID(list_attachments で確認可能)

保存先: /tmp/redmine-attachments/{issue_id}_{attachment_id}_{filename}

セキュリティ

  • --project で指定したプロジェクト以外のチケットにはアクセスできません

  • 起動時にプロジェクトの存在確認を行い、存在しない場合はエラーで終了します

  • APIキーは macOS Keychain で管理することを推奨します(「環境変数の設定」参照)

Latest Blog Posts

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

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