こんにちは、開発グループの吉岡です。Redmineをより便利に活用するために、MCP(Model Context Protocol) を使ってAI(Codex / ChatGPT)からRedmineを直接操作する方法を試してみました。今回は、VS Code 上で Codex プラグインを利用し、Docker で動作する MCP Redmine サーバーを設定する手順と、その使用例を紹介します。
今回の環境は以下の通りです。
使用する MCP サーバーは以下の GitHub リポジトリを利用します。
https://github.com/runekaagaard/mcp-redmine
VS Code で Codex を利用するための初期設定については、以下の公式ドキュメントを参考にしてください。
https://developers.openai.com/codex/ide
まずは MCP Redmine サーバーを取得し、Docker イメージを作成します。
git clone https://github.com/runekaagaard/mcp-redmine.git
cd mcp-redmine
docker build -t mcp-redmine .
これで mcp-redmine イメージが作成されます。
Redmine を操作する際のルールをまとめた instructions.md を作成します。
ファイルパスは ~/.codex/instructions.md とします。
# MCP Redmine Request Instructions 進行中
これらの指示は、Redmine の API リクエストを行う際に使用されます。
Claude や VS Code の Codex から `redmine_request` ツールを呼び出す際、以下のルールに従ってください。
---
## 基本方針
- 目的は「Redmine を安全かつ一貫した形式で操作すること」。
- **常に最小限の必要データのみ送信**してください。
- `GET` 系操作(閲覧・検索)を優先し、`POST` や `PUT` はユーザーから明示的な指示がある場合のみ実行します。
- 日本語のタイトルと説明を使用してください。
- `description` には Markdown 形式を用いてください。
## 利用可能なステータス
ステータス更新時は以下のリストを参考にし、適切な ID を使用してください。
- ID 1: 新規
- ID 2: 進行中
- ID 3: 解決
- ID 4: フィードバック
- ID 5: 終了
- ID 6: 却下
## 課題(Issues)作成ルール
- `project_id`: 原則「ID: 1, 識別子: redmine-mcp」を使用。
- `tracker_id`: 明示されていない場合は空欄。
- `priority_id`: 明示されていない場合は空欄。
- `assigned_to_id`: 指定がない場合は空欄。
- `status_id`: 新規は「新規」(=1)で作成。
## ファイルを利用した課題(Issues)作成ルール
- ファイル名を課題の `subject` として使用してください。ただし、拡張子(例: `.md`)は除外してください。
- ファイル内容を課題の `description` として使用してください。
- 可能な限り Markdown 形式を維持してください。
- 課題(Issues) 作成ルールに従って、他のフィールドを設定してください。
## Issues更新ルール
- `status_id`: 明示的な指示がない場合は変更しない。
- `assigned_to_id`: 明示的な指示がない場合は変更しない。
- `priority_id`: 明示的な指示がない場合は変更しない。
- その他、指定がないフィールドは変更しないでください。
- ファイルを元にした更新の場合、元の内容を保持しつつ必要な変更のみを加えるようにしてください。
## Issues notes(コメント)更新ルール
- 新規コメントは notes フィールドに追加してください。
- Redmine API では `issue` オブジェクト内に `notes` のみを含む JSON(例: `{"issue": {"notes": "コメント"}}`)を送信すること。
- コメント追加時は notes フィールドのみを含むリクエストを送信し、他のフィールドは更新しないこと。
## Issue取得時のルール
- 以下のフィールドを必ず取得してください
- `id`
- `subject`
- `description`
- `status`
- `assigned_to`
- `notes`
- 取得した Issue の情報は、ユーザーにわかりやすい形式で提供してください。
- 可能な限り Markdown 形式で整形してください。
- data/ ディレクトリに「subject名.md」というファイル名で保存しエディタに表示してください。
このファイルには、Redmineの課題作成・更新・取得のルールを明記しておきます。特に status_id や project_id の扱い、Markdown形式の利用ルールなどを定義しておくと、AIが安全に操作できます。
次に VS Code の Codex プラグインから MCP サーバーを呼び出すための設定を行います。
VS Code で
Settings > MCP Server > Open config.toml
を開き、以下の内容を追加します。
[mcp_servers.redmine]
command = "docker"
args = [
"run", "-i", "--rm",
"-e", "REDMINE_URL",
"-e", "REDMINE_API_KEY",
"-e", "REDMINE_REQUEST_INSTRUCTIONS",
"-v", "/path/to/your-home/.codex/instructions.md:/app/INSTRUCTIONS.md",
"mcp-redmine"
]
[mcp_servers.redmine.env]
REDMINE_URL = "https://YOUR-REDMINE"
REDMINE_API_KEY = "YOUR-API-KEY"
REDMINE_REQUEST_INSTRUCTIONS = "/app/INSTRUCTIONS.md"
※ /path/to/your-home の部分は自分のホームディレクトリに置き換えてください。
次のような簡単な Markdown ファイルを作成します。
MCPを利用したチケット登録のテスト.md
# mcpから登録テスト
Codex のチャット欄で以下のように入力します。
チケットを作成してください。
すると、MCP サーバーを通じて Redmine にチケットが作成されます。
Redmine の画面を確認すると、以下のように登録されています。
Codex のチャット欄で以下のように入力します。
MCPを利用したチケット登録のテスト の詳細を表示してください。
すると、MCPを利用したチケット登録のテスト.md ファイルとして Redmine の内容が VS Code に読み込まれ、次のように表示されます。
新規にテキストファイルを開き、以下の内容を入力します。
# タイトル
## h2見出し
コメント追加のテストです。
コメント追加のテストです。
入力したら、Codex のチャット欄で以下のように入力します。
ID 8 のチケットにコメントとして追加してください。
Codex と MCP サーバーを組み合わせることで、Redmine との連携を自動化できます。 ファイルベースでチケット作成・更新ができるため、エンジニアの開発フローに自然に統合できるのが魅力です。
今回はシンプルなデモでしたが、今後は以下のような応用も考えられます。
今後も引き続き、RedmineとAIを連携させて業務効率化を進めていきたいと思います。
|
TiDB(MySQL互換DB)でRedMica(Redmine互換OSS)を動かす検証を行いました。セットアップ手順・ポイントを紹介します。 |
|
個人用の名刺としてデジタル名刺を作ってみました。 |
|
社員だけでなく、社外の方々にもご参加いただき貸切運行を実施。特別感のある、楽しい時間となりました。 |
|
My SubversionのAWS WAFは不正なリクエストをブロックするため独自のルールを使用しています。 |
|
Kaigi on Rails 2025 にオンラインで参加しました。どのセッションも実務に役立つ内容で、とても面白かったです。 |
|
2025年11月29日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催) ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。 |
|
オープンソースのプロジェクト管理ツール「Redmine 6.1」の最新機能紹介セミナーを10月30日に開催 2025年9月22日にリリースされた Redmine 6.1 の新機能をRedmineコミッターの前田剛(ファーエンドテクノロジー株式会社 代表取締役)が解説します。 |
|
【AIがRedmineのチケットを要約】チケット内容が瞬時に分かる新機能「AIチケット要約」をMy Redmineで提供開始! Redmineのクラウドサービス『My Redmine JP Edition』で、チケット内容を要約する新機能「AIチケット要約」が使えるようになりました。 |
|
RubyWorld Conference 2025 (11/6・7開催) にPlatinumスポンサーとして協賛 2025年11月6日(木)〜7日(金)に島根県松江市で開催される「RubyWorld Conference 2025」にPlatinumスポンサーとして協賛しています。 |
|
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |






