こんにちは!今回は、VS CodeのModel Context Protocol(MCP)機能を使って、ローカルのRedmineサーバーと連携する方法をご紹介します。Redmineに蓄積された知識をAIで活用し、コード品質を高めていくことを目指しています。
※本記事は自分で行った内容を基にAIを利用して文章生成したものです。
参考情報
この記事は以下のサイトを参考に作成しています:
はじめに
最近のAI技術の進化はめざましく、特にVisual Studio CodeでのAIアシスタント機能はとても便利ですよね。一方で、多くの企業では社内の知識やノウハウはRedmineなどのチケット管理システムに蓄積されています。「この知識をAIに取り込ませられないか?」という疑問から、個人的にこの実験を始めてみました。
VSCodeのMCP(Model Context Protocol)を使えば、AIに外部データソースへのアクセス権を与えることができます。MCPとは、AI言語モデルが外部ツールやデータソースとやりとりするための標準プロトコルで、VSCode 1.85以降に導入された比較的新しい機能です。この機能により、AIはRedmineのようなデータソースから情報を取得し、より具体的で文脈に即した応答ができるのではないかと思います。
今回はこのMCPを使って、ローカルのRedmineサーバーと連携する方法を解説します。Redmineはオープンソースのプロジェクト管理ウェブアプリケーションで、チケット管理、スケジュール管理、文書管理など、プロジェクト進行に必要な機能が提供されています。
前提条件
- Windows 11 Pro 24H2
- Visual Studio Code 1.99.3
- PowerShell 5.1.26100.3624
- ローカルネットワーク上のRedmineサーバー
- Redmineの管理者権限またはAPI利用権限があること
なお、作業を進める前に以下の点をご確認ください:
- インターネット接続が可能であること(パッケージのダウンロードに必要)
- コマンドラインツールの基本操作に慣れていること
- 使用するRedmineサーバーのURLとアクセス権が確保されていること
1. Node.jsのインストール
まずはNode.jsをインストールしていきますが、参考サイトの情報からnvmを使った方法で紹介します。
1.1 Scoopのインストール
Windows用のパッケージマネージャであるScoopをインストールします。PowerShellを管理者権限で起動し、以下のコマンドを実行します:
# Scoopのインストール
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
インストール後、以下のコマンドで動作確認します:
scoop -v
バージョン情報が表示されれば成功です。
1.2 NVMのインストール
次にNode.jsのバージョン管理ツールであるNVMをインストールします:
scoop install nvm
インストール後、以下のコマンドで動作確認します:
nvm -v
バージョン情報が表示されれば成功です。
1.3 Node.jsのインストール
MCP Server Redmineには、Node.js 18以上が必要です。以下のコマンドでインストールします:
# 利用可能なNodeバージョンの確認
nvm list available
# Node.js 20のLTSバージョンをインストール
nvm install 20.19.1
# インストールしたバージョンを使用
nvm use 20.19.1
インストール後、以下のコマンドで動作確認します:
node -v
npm -v
Node.jsとnpmのバージョンが表示されれば成功です。バージョンが表示されない場合は、パスの設定が正しく行われているか確認しましょう。
Note: 今回は
nvm list available
の出力結果から、LTS(長期サポート版)かつ十分に安定していると思われる20.19.1を選択しました。Nodeのバージョン選択は、必要な互換性と安定性を考慮して行うことをお勧めします。
2. MCP Server Redmineのセットアップ
2.1 リポジトリのクローン
まず、MCP Server Redmineのリポジトリをクローンします:
# 作業ディレクトリを作成し、移動
mkdir mcp-projects
cd mcp-projects
# リポジトリをクローン
git clone https://github.com/yonaka15/mcp-server-redmine.git
cd mcp-server-redmine
2.2 必要なパッケージのインストール
プロジェクトの依存パッケージをインストールします:
npm install
2.3 プロジェクトのビルド
インストールが完了したら、プロジェクトをビルドします:
npm run build
ビルドが成功すると、dist
ディレクトリにコンパイルされたファイルが生成されます。エラーが発生した場合は、Node.jsのバージョンが要件を満たしているか、必要なパッケージがすべて正しくインストールされているか確認してください。
3. Redmine API キーの取得
MCP Server RedmineをRedmineサーバーと連携させるには、API キーが必要です。
- Redmineにログインします
- 右上のアカウントメニューから「個人設定」を選択
- 右側の「API キー」セクションで、キーを確認またはリセットして新しいキーを生成します
- 表示されたAPIキーをメモしておきます
もしAPI機能が有効になっていない場合は、Redmineの管理者に問い合わせて、「管理」→「設定」→「API」タブで「RESTによるWebサービスを有効にする」が有効になっているか確認してもらう必要があります。
4. VS CodeでのMCP設定
4.1 必要な拡張機能のインストール
VSCodeで「Settings」を開き、editor.experimental
を検索して「MCP (Model Context Protocol) features」が有効になっていることを確認します。このオプションは次の手順で確認できます:
- VS Codeで
Ctrl+,
を押して設定を開く - 検索ボックスに「MCP」または「Model Context Protocol」と入力
- 「Enable Model Context Protocol (MCP) Features」にチェックが入っているか確認
もし見つからない場合は、VS Codeのバージョンが1.85以降であることを確認するか、更新する必要があるかもしれません。
4.2 VSCode設定ファイルの編集
VS Codeのsettings.jsonファイルを開き、以下の設定を追加します:
{
"mcp-server-redmine": {
"command": "npx",
"args": [
"-y",
"--prefix",
"C:\\path\\to\\mcp-server-redmine",
"mcp-server-redmine"
],
"env": {
"REDMINE_HOST": "(ローカルRedmineサーバーへのURL)",
"REDMINE_API_KEY": "(APIキー)"
}
},
// 他の設定...
}
注意点:
-
C:\\path\\to\\mcp-server-redmine
の部分は実際のパスに置き換えてください - パスはバックスラッシュ(\)を2つ重ねて記述する必要があります
- APIキーは外部に漏れないよう取り扱いに注意してください
4.3 AIチャットの設定
VSCodeのAIチャット機能がMCPを利用できるように設定します:
- VS Codeのサイドバーから「Chat」アイコン(吹き出しのようなアイコン)をクリックしてチャットパネルを開く
- 右上の設定アイコン(歯車アイコン)をクリック
- 「Enable Model Context Protocol (MCP)」にチェックを入れる
この設定により、AIチャットがMCPサーバー経由でRedmineと通信できるようになります。
5. 動作確認と使い方
設定が完了したら、実際にAIチャットでRedmineの情報を呼び出してみましょう。
例えば、以下のようなプロンプトを試してみてください:
プロジェクト一覧を表示してください
または
チケット #123 の情報を取得して、その内容を要約してください
AIアシスタントはRedmineサーバーに接続し、リクエストされた情報を取得して応答してくれるはずです。
うまく動作しない場合は、以下の点を確認してみてください:
- VSCode設定ファイルのパスとRedmine接続情報が正しいか
- MCP Serverが正しくビルドされているか
- Redmine APIキーに適切な権限があるか
- Redmineサーバーが正常に動作しており、APIリクエストを受け付けているか
おわりに
今回は、Windows環境でVS CodeのMCP機能を使い、ローカルのRedmineサーバーと連携する方法を解説しました。この設定により、Redmineに蓄積された知識をAIアシスタントが参照できるようになります。
まだ具体的な活用方法を模索中ですが、例えば以下のような使い方が考えられます:
- 過去のバグ記録からコードレビューの精度を高める
- チケットの内容に基づいて実装のヒントを得る
- プロジェクトの進捗状況や作業ログを分析して改善点を提案してもらう
みなさんも是非試してみて、新しい活用方法を見つけてください!
- 本記事は2025年4月時点の情報に基づいています。VSCodeやMCPの仕様変更により、設定方法が変わる可能性があります。
- Redmineサーバーのセキュリティ設定によっては、APIアクセスが制限されている場合があります。
- APIキーは個人情報に相当するため、取り扱いには十分ご注意ください。