mcpField
R
redmine-mcp-connector

redmine-mcp-connector

ローカル
github.com/Nikhilprasad-r生産性15 週間前に更新

redmine-mcp-connector について

redmine-mcp-connector は、REST API 経由で Redmine に接続する stdio MCP サーバーです。コーディングエージェント向けに一般的なデータ管理ツールと読み取り専用リソースを提供し、読み取り専用モードや破壊的操作の確認にも対応します。

主な機能

  1. 01課題、プロジェクト、ユーザー、メンバーシップの管理
  2. 02工数、ニュース、Wiki、バージョンの処理
  3. 03添付ファイルの検索と管理
  4. 04プロジェクトとユーザーの読み取り専用リソース
  5. 05読み取り専用モードと操作確認

活用シーン

  1. 01コーディングエージェントからRedmineの課題を作成・更新
  2. 02プロジェクト、ユーザー、担当課題の確認
  3. 03Wikiページ、工数、添付ファイルの管理
  4. 04連携を読み取り専用に制限

MCP 対応

stdio MCP サーバーとして動作し、Redmine REST API の操作をツールとして公開するとともに、読み取り専用の MCP リソースを提供します。コーディングエージェントなどの MCP クライアントから起動できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"nikhilprasad-r-redmine-mcp-connector": {
"command": "npx",
"args": [
"-y",
"redmine-mcp-connector"
],
"env": {
"REDMINE_BASE_URL": "<REDMINE_BASE_URL>",
"REDMINE_API_KEY": "<REDMINE_API_KEY>",
"REDMINE_IMPERSONATE_USER": "<REDMINE_IMPERSONATE_USER>",
"REDMINE_READONLY": "<REDMINE_READONLY>",
"REDMINE_ALLOW_RAW_REQUEST": "<REDMINE_ALLOW_RAW_REQUEST>",
"REDMINE_HTTP_TIMEOUT_MS": "<REDMINE_HTTP_TIMEOUT_MS>",
"REDMINE_MAX_PAGES": "<REDMINE_MAX_PAGES>",
"REDMINE_MAX_DOWNLOAD_BYTES": "<REDMINE_MAX_DOWNLOAD_BYTES>"
}
}
}
}
起動コマンドnpx -y redmine-mcp-connector
設定が必要な環境変数
REDMINE_BASE_URLBase URL of your Redmine instance, no trailing slash (e.g. https://redmine.example.com)
REDMINE_API_KEYシークレットRedmine API access key (My account -> Show API access key)
REDMINE_IMPERSONATE_USERAdmin-only impersonation login, sets X-Redmine-Switch-User
REDMINE_READONLYIf true, blocks all mutating HTTP methods (POST, PUT, PATCH, DELETE)
REDMINE_ALLOW_RAW_REQUESTIf true, registers the redmine_request escape-hatch tool for arbitrary REST paths
REDMINE_HTTP_TIMEOUT_MSHTTP timeout in milliseconds
REDMINE_MAX_PAGESMax pages when using fetch_all on list tools
REDMINE_MAX_DOWNLOAD_BYTESCap for redmine_attachment_download, in bytes (default 5 MiB)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmredmine-mcp-connector1.0.1

ツール

69

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
sortstringいいえ
limitnumberいいえ
offsetnumberいいえ
includearrayいいえ
subjectstringいいえ
query_idnumberいいえ
author_idnumberいいえ
fetch_allbooleanいいえ
status_idstringいいえ
project_idanyいいえproject ID または識別子
tracker_idnumberいいえ
category_idnumberいいえ
subproject_idstringいいえ
assigned_to_idanyいいえ
fixed_version_idnumberいいえ

詳細

Redmine MCP サーバー

stdio ベースのModel Context Protocolサーバーで、Redmine インスタンスをREST API(*.json エンドポイント)経由で操作します。別個の Node.js プロセスとして実行されるため、Redmine の Rails アプリに変更を加える必要はありません。

要件

  • Node.js 20+
  • API アクセスキーを持つ Redmine ユーザー(マイアカウント → API アクセスキーを表示)
  • このプロセスから Redmine の REDMINE_BASE_URL へのネットワークアクセス

インストール

通常の使用ではインストールは不要です。コーディングエージェントが必要に応じて npx 経由で起動します。

npx -y redmine-mcp-connector

Claude Desktop、Claude Code、Cursor、Windsurf、Cline、VS Code、Zed、その他の MCP クライアント向けの詳しいセットアップ手順と、ローカルビルドおよび Docker の代替方法については、CONNECTING.md を参照してください。

サーバー自体を開発するには、このリポジトリをクローンしてください。

npm install
npm run build

設定

環境変数(.env.example を参照):

変数必須説明
REDMINE_BASE_URLはいベース URL。例:https://redmine.example.com(末尾のスラッシュなし)
REDMINE_API_KEYはいX-Redmine-API-Key の値
REDMINE_IMPERSONATE_USERいいえX-Redmine-Switch-User を設定します(Redmine では管理者のみ使用可能)
REDMINE_READONLYいいえtrue / 1 の場合、変更を伴うすべての HTTP メソッドをブロックします
REDMINE_ALLOW_RAW_REQUESTいいえtrue / 1 の場合、回避用ツール redmine_request を登録します
REDMINE_HTTP_TIMEOUT_MSいいえデフォルトは 15000 です
REDMINE_MAX_PAGESいいえリストツールで fetch_all を使用する際の最大ページ数(デフォルトは 20)
REDMINE_MAX_DOWNLOAD_BYTESいいえredmine_attachment_download の上限(デフォルトは 5 MiB)

実行

REDMINE_BASE_URL=https://your-redmine.example.com REDMINE_API_KEY=secret npm start
# or during development:
REDMINE_BASE_URL=... REDMINE_API_KEY=... npm run dev

コーディングエージェントへの接続

クライアントごとの詳しい手順(Claude Desktop、Claude Code、Cursor、Windsurf、Cline、VS Code、Zed、および一般的な MCP クライアント)は CONNECTING.md にあります。簡単な例(Claude Desktop/Cursor/Windsurf では共通の形式です):

{
  "mcpServers": {
    "redmine": {
      "command": "npx",
      "args": ["-y", "redmine-mcp-connector"],
      "env": {
        "REDMINE_BASE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}

MCP リソース(読み取り専用)

URI説明
redmine://projectsGET /projects.json(最初の 100 件)
redmine://meGET /users/current.json
redmine://me/issuesGET /issues.json?assigned_to_id=me(上限 100 件)
redmine://projects/{id}GET /projects/:id.json

ツールの概要

命名規則:redmine_<resource>_<action>。

チケット: redmine_issues_list、redmine_issue_get、redmine_issue_create、redmine_issue_update、redmine_issue_add_comment、redmine_issue_delete(confirm: true が必要)、ウォッチャーの追加/削除、関連の一覧表示/追加/削除。

プロジェクト: redmine_projects_list、redmine_project_get、作成/更新/アーカイブ/アーカイブ解除/削除(削除には confirm が必要)。

ユーザー: redmine_current_user、redmine_users_list、redmine_user_get、作成/更新/削除(削除には confirm が必要)。

作業時間: 一覧表示/取得/作成/更新/削除(削除には confirm が必要)。

ニュース: 一覧表示/取得/作成/更新/削除(削除には confirm が必要)。

Wiki: ページの一覧表示/取得/作成/更新(PUT)/削除(confirm が必要)。

バージョンとカテゴリ: バージョンの CRUD(削除には confirm が必要)、チケットカテゴリの CRUD(削除には confirm が必要)。

クエリとメタデータ: redmine_queries_list、redmine_enumerations_list、redmine_trackers_list、redmine_issue_statuses_list、redmine_roles_list、redmine_role_get、redmine_custom_fields_list。

グループ(読み取り専用): redmine_groups_list、redmine_group_get。

メンバーシップ: 一覧表示/作成/更新/削除(削除には confirm が必要)。

添付ファイルと検索: redmine_search、添付ファイルの取得/更新/削除/アップロード/ダウンロード(ダウンロード結果は base64 形式で、サイズ上限があります)。

リポジトリ(標準の Redmine REST API では制限あり): redmine_repository_revision_link_issue、redmine_repository_revision_unlink_issue(confirm が必要)。JSON 経由でのリポジトリ/リビジョンの一覧表示は、Redmine コアでは公開されていません。有効にしている場合は redmine_request を使用するか、プラグインを利用してください。

回避手段: redmine_request — REDMINE_ALLOW_RAW_REQUEST=true の場合のみ使用できます。DELETE には confirm: true が必要です。

安全性

  • 破壊的なツールでは、記載されている場合、明示的に confirm: true を指定する必要があります。
  • 読み取り専用でデプロイする場合は、REDMINE_READONLY=true を設定してください。
  • このサーバーが API キーをログに記録することはありません。

Docker

ローカルイメージをビルドします。

docker build -t redmine-mcp-server:local .

実行します(stdio MCP サーバー)。

docker run --rm -i   -e REDMINE_BASE_URL="https://redmine.example.com"   -e REDMINE_API_KEY="your_api_key_here"   redmine-mcp-server:local

MCP 設定でこのイメージを使用します。

{
  "mcpServers": {
    "redmine": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "REDMINE_BASE_URL",
        "-e", "REDMINE_API_KEY",
        "docker.io/<docker-user>/redmine-mcp-server:latest"
      ],
      "env": {
        "REDMINE_BASE_URL": "https://redmine.example.com",
        "REDMINE_API_KEY": "your_api_key_here"
      }
    }
  }
}
Docker Hub Catalog への公開
  1. ログインします。
docker login
  1. buildx ビルダーを作成して使用します(初回のみ)。
docker buildx create --name redmine-mcp-builder --use --bootstrap
  1. マルチアーキテクチャイメージをビルドしてプッシュします。
export IMAGE=docker.io/<docker-user>/redmine-mcp-server
export TAG=1.0.0

docker buildx build   --platform linux/amd64,linux/arm64   -t $IMAGE:$TAG   -t $IMAGE:latest   --push .
  1. Docker Hub で、リポジトリの説明にこの README の内容を設定し、Catalog で見つけられるように公開に設定します。

開発

npm run lint
npm test

コントリビューション

コントリビューションを歓迎します。

  • クライアントのセットアップ手順について詳しくは、CONNECTING.md をご覧ください。
  • ローカル環境のセットアップ、コーディングの指針、PR のワークフローについては、CONTRIBUTING.md をお読みください。
  • 敬意を持ち、誰もが参加できるコラボレーションを維持するため、CODE_OF_CONDUCT.md に従ってください。
  • ヘルプを受けられる窓口や、記載すべき詳細については、SUPPORT.md をご利用ください。
  • 脆弱性は、SECURITY.md に従って非公開で報告してください。
  • 公開配布用テンプレート(Docker + MCP ディレクトリ)については、REGISTRY_PUBLISHING.md をご覧ください。

ライセンス

GPL-2.0-or-later(Redmine と同じ系統です)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。