はじめに
とある案件でredmineの情報をjsonで出力しそれをRAG化してAIに読ませるというプロジェクトに参画していたのですが、
昨今のMCPを使えばそのままRedmineにAIが接続できるのではという発想から実際にやってみました。
MCPとは?
Model Context Protocol(MCP)とは、Anthropicが提唱したLLM(大規模言語モデル)と外部のデータソースやツールを連携させるためのオープンソース標準プロトコルです。AIシステムがデータやツールを「AI用のUSB-Cポート」のように利用できるようにすることで、手動設定の削減、AIの関連性の向上、開発の効率化を目指します。
※詳しくはこちらを参照下さい。
Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準
導入手順
①、まずは接続確認用のRedmineを立てます。
compose.yaml
version: '3' services: redmine: image: redmine:latest ports: - "3000:3000" environment: # 接続先のMySQLを指定 REDMINE_DB_MYSQL: ${REDMINE_DB_MYSQL:-localhost} REDMINE_DB_PASSWORD: ${REDMINE_DB_PASSWORD:-root} REDMINE_DB_USERNAME: ${REDMINE_DB_USERNAME:-root} REDMINE_DB_DATABASE: ${REDMINE_DB_DATABASE:-redmine} volumes: redmine_data:
②、MCPを使う為のimageを作る
※今回はこちらを使いました。
mcp-redmine
※dockerを使って接続をします
git clone git@github.com:runekaagaard/mcp-redmine.git cd mcp-redmine docker build -t mcp-redmine .
③、mcp.jsonに設定を追加する
"mcpServers": { "redmine": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "REDMINE_URL", "-e", "REDMINE_API_KEY", "-e", "REDMINE_REQUEST_INSTRUCTIONS", "-v", "/path/to/instructions.md:/app/INSTRUCTIONS.md", "mcp-redmine" ], "env": { "REDMINE_URL": "https://your-redmine-instance.example.com", "REDMINE_API_KEY": "your-api-key", "REDMINE_REQUEST_INSTRUCTIONS": "/app/INSTRUCTIONS.md" } } } }
実際に確認してみます。
今回はGithub Copilotから接続を試してみます。
まずは、Redmineに仮チケットを作成します。
Github Copilotに確認してみます。
ちゃんとチケットを取得することができました。
まとめ
AIとRedmineの連携において、従来のRAG(Retrieval-Augmented Generation)方式に代わる、Model Context Protocol(MCP)を活用した新しいアプローチを紹介しました。
従来のRAG方式は、RedmineのデータをJSONとして定期的に出力し、AIに読み込ませる手間がありました。
一方で、MCP方式では、AIが「AI用のUSB-Cポート」のようにRedmineに直接接続し、リアルタイムで最新の情報を取得できます。
これにより、データの出力・更新作業が不要になります。
AIが単に情報を「読む」だけでなく、外部システムからリアルタイムで情報を「参照・操作」する新たなアプローチが可能となります。