Skip to main content
Glama

rtm-mcp

npm version npm downloads License: MIT GitHub repo CI status

オープンソースの MCP(Model Context Protocol)サーバー。Requirements and Test Management for Jira REST API v2 を扱い、要件(Requirements)、テストケース(Test Cases)、テスト計画(Test Plans)、テスト実行(Test Executions)、テストケース実行(Test Case Executions)、不具合(Defects)、ツリー構造(Tree)、自動化(Automation)を MCP ツールとして公開します。MCP 互換クライアント(Claude Desktop、IDE 拡張機能、カスタムエージェント)から RTM を直接操作できます。

NPX で実行可能 — インストールもクローンも不要です:

npx rtm-mcp

リンク


機能

  • 40+ のツール — すべての RTM リソースに対する CRUD とリンク管理をカバー。

  • Bearer トークン認証RTM_API_TOKEN で認証します。Jira の アプリ → Requirements and Test Management → ⋯ → Rest API 認証 からトークンを生成します。

  • US + EU リージョンRTM_BASE_URL で切り替え可能。

  • リトライ + タイムアウト + ジッター は HTTP クライアントに組み込み済み(429/5xx/ネットワークエラーを処理)。

  • 型付きエラー を読みやすい MCP エラーメッセージに変換 — スタックトレースを漏らしません。

  • 添付ファイルのアップロード は base64 ペイロードに対応(サンドボックス化された MCP クライアントでも安全)。

  • stderr 専用ログ — stdout は JSON-RPC 用にクリーンな状態を維持。


クイックスタート

1. RTM API トークンを生成する

  1. Jira を開きます。

  2. アプリ → Requirements and Test Management に移動します。

  3. 三点メニュー(⋯)→ Rest API 認証 をクリックします。

  4. トークンを生成 をクリックし、ユーザーを選択、ラベルを追加、Generate をクリックします。

  5. トークンはすぐにコピーしてください — RTM で再表示されることはありません。

2. サーバーを実行する

RTM_API_TOKEN=your-token-here npx rtm-mcp

サーバーは stdio 経由で MCP を提供します — MCP クライアントからこのサーバーを指定してください。


Claude Desktop のセットアップ

claude_desktop_config.json に追加します:

US / グローバル(デフォルト URL):

{
  "mcpServers": {
    "rtm": {
      "command": "npx",
      "args": ["-y", "rtm-mcp"],
      "env": {
        "RTM_API_TOKEN": "<your-token-here>",
        "RTM_BASE_URL": "https://rtm-us.deviniti.com/api"
      }
    }
  }
}

EU リージョン:

{
  "mcpServers": {
    "rtm": {
      "command": "npx",
      "args": ["-y", "rtm-mcp"],
      "env": {
        "RTM_API_TOKEN": "<your-token-here>",
        "RTM_BASE_URL": "https://rtm-eu-api.hexygen.com/api"
      }
    }
  }
}

Claude Code CLI のセットアップ

claude mcp add コマンドで Claude Code にサーバーを登録します。

ユーザースコープ(推奨 — すべてのプロジェクトで利用可能)

claude mcp add --scope user --transport stdio rtm \
  -e RTM_API_TOKEN=<your-token-here> \
  -e RTM_BASE_URL=https://rtm-us.devinti.com/api \
  -- npx -y rtm-mcp

EU リージョン:

claude mcp add --scope user --transport stdio rtm \
  -e RTM_API_TOKEN=<your-token-here> \
  -e RTM_BASE_URL=https://rtm-eu-api.hexygen.com/api \
  -- npx -y rtm-mcp

--scope user はエントリを ~/.claude.json に書き込むため、このマシン上のすべての Claude Code プロジェクトで rtm サーバーを利用できます。

プロジェクトスコープ(このプロジェクトのみ)

claude mcp add --scope project --transport stdio rtm \
  -e RTM_API_TOKEN=<your-token-here> \
  -e RTM_BASE_URL=https://rtm-us.devinti.com/api \
  -- npx -y rtm-mcp

カレントディレクトリの .mcp.json に書き込みます(git にコミットされます)。

登録の確認

claude mcp list           # see all configured servers
claude mcp get rtm        # inspect the rtm entry

サーバーの削除

claude mcp remove rtm

設定

環境変数

必須

デフォルト

説明

RTM_API_TOKEN

必須

Jira → アプリ → Requirements and Test Management → API トークン で生成する Bearer トークン。

RTM_BASE_URL

任意

https://rtm-us.deviniti.com/api

EU の場合: https://rtm-eu-api.heygen.com/apiRest API 認証 パネルで確認してください。

RTM_LOG_LEVEL

任意

info

debuginfowarnerror のいずれか。ログは stderr にのみ出力されます。

RTM_TIMEOUT_MS

任意

30000

リクエストごとの HTTP タイムアウト(ミリ秒)。

RTM_MAX_RETRIES

任意

2

429/5xx/ネットワークエラー時にリトライ。Retry-After を尊重します。

RTM_API_TOKEN が未指定または空の場合、起動時にフレンドリなヒントを表示して終了します。


利用可能なツール

すべてのツールは、整形された JSON を含む MCP text コンテンツを返します。

要件(REQUIREMENTS

  • rtm_list_requirementsprojectKey で一覧取得(folderpagepageSize はオプション)

  • rtm_get_requirementrequirementKey で取得

  • rtm_create_requirement — 作成

  • rtm_update_requirement — 部分更新

  • rtm_delete_requirement — 削除

  • rtm_set_requirement_covered_test_cases — リンクセットを置き換え

  • rtm_add_requirement_covered_test_cases — 追加

  • rtm_remove_requirement_covered_test_cases — サブセットを削除

テストケース(TEST_CASES

  • rtm_list_test_casesrtm_get_test_casertm_create_test_casertm_update_test_casertm_delete_test_case

  • rtm_set_test_case_covered_requirementsrtm_add_test_case_covered_requirementsrtm_remove_test_case_covered_requirements

テスト計画(TEST_PLANS

  • rtm_list_test_plansrtm_get_test_planrtm_create_test_planrtm_update_test_planrtm_delete_test_plan

  • rtm_set_test_plan_included_test_casesrtm_add_test_plan_included_test_casesrtm_remove_test_plan_included_test_cases

テスト実行(TEST_EXECUTIONS

  • rtm_list_test_executionsrtm_get_test_executionrtm_create_test_executionrtm_update_test_executionrtm_delete_test_execution

テストケース実行(TCE

  • rtm_link_defect_to_test_case_execution

  • rtm_unlink_defect_from_test_case_execution

  • rtm_link_defect_to_test_case_execution_step

  • rtm_unlink_defect_from_test_case_execution_step

  • rtm_list_test_case_execution_attachments

  • rtm_upload_test_case_execution_attachment(base64 入力)

不具合(DEFECTS

  • rtm_list_defectsrtm_get_defectrtm_create_defectrtm_update_defectrtm_delete_defect

  • rtm_set_defect_identifying_test_cases

ツリー

  • rtm_get_tree_structureprojectKeyresourceType はオプション

自動化

  • rtm_import_test_results — JUnit/NUnit/Cucumber JSON の ZIP/TAR.GZ をアップロードし、taskId を返します

  • rtm_get_import_statusstatusIMPORTING 以外になるまでポーリングします


"プロジェクト ACME の最新の要件を 10 件一覧表示して。"

> rtm_list_requirements { projectKey: "ACME", pageSize: 10 }

"「/Smoke」フォルダの下に「Login with valid credentials」というテストケースを作成して、要件 ACME-42 にリンクして。"

> rtm_create_test_case { projectKey: "ACME", name: "Login with valid credentials", folder: "/Smoke", stepGroups: [...] }
> rtm_set_test_case_covered_requirements { testCaseKey: "<new>", requirementKeys: ["ACME-42"] }

"不具合 DEF-1 をテストケース実行 TCE-42 のステップ 3 にリンクして。"

> rtm_link_defect_to_test_case_execution_step { testCaseExecutionKey: "TCE-42", stepId: "3", defectTestKey: "DEF-1" }

"昨夜の JUnit XML をインポートして。"

> rtm_import_test_results { projectKey: "ACME", filename: "junit.zip", contentBase64: "<base64>", reportType: "JUNIT", jobUrl: "https://ci/job/123" }
> rtm_get_import_status { taskId: "<returned>" }

トラブルシューティング

症状

考えられる原因 / 対処

起動時に RTM_API_TOKEN is required というエラーで終了する

トークンが未設定または空。起動前に RTM_API_TOKEN=... を設定してください。

ツールが Authentication failed... を返す

トークンが無効、期限切れ、または別のユーザー用に生成されています。Jira で再生成してください。

ツールが Resource not found を返す

テストキーがどの課題とも一致しません。最初に rtm_list_* で確認してください。

Validation failed (HTTP 400)

RTM がペイロードを拒否しました。ツールのメッセージに応答ボディの解析結果が含まれています。

Rate limited by RTM API (HTTP 429). Retry after Ns.

レート制限に達しています。並行数を減らすか、待機してください。

Network error reaching RTM API

RTM_BASE_URL の誤り(US / EU 不一致)、ファイアウォール、または一時的なネットワークの不調です。

ツールが実行中に止まる / タイムアウトする

RTM_TIMEOUT_MS を増やしてください。デフォルトは 30 秒ですが、自動化のインポートはより長くかかることがあります。


開発

git clone <repo>
cd rtm-mcp
npm install
npm run build         # compile to dist/
npm test              # unit tests
npm run dev           # run from src/ via tsx
npm run typecheck     # tsc --noEmit

プロジェクト構成

src/
├── index.ts                  # entry point (shebang)
├── server.ts                 # McpServer wiring
├── config/                   # env validation + constants
├── client/
│   ├── http.ts               # fetch wrapper w/ retry + timeout
│   ├── errors.ts             # RTMError hierarchy
│   └── rtm-client.ts         # facade composing all resources
├── resources/                # one file per RTM resource
├── tools/                    # MCP tool registrations
├── schemas/                  # zod input schemas per tool group
└── utils/                    # logger, MCP response helpers
tests/
├── unit/                     # mocked fetch tests
└── integration/              # opt-in live tests (gated by RTM_LIVE=1)

実環境での統合テスト

RTM_API_TOKEN=xxx \
RTM_BASE_URL=https://rtm-us.deviniti.com/api \
RTM_LIVE=1 \
RTM_TEST_PROJECT=ACME \
npm run test:integration

サンドボックスの Jira プロジェクトを使用してください。スモークテストは要件を作成し、取得し、周辺を一覧表示し、後片付けます。


公開

npm login
npm version patch   # or minor / major
npm publish --access public

prepublishOnlytypechecktestbuild を自動的に実行します。


コントリビューション

このプロジェクトはオープンソースです — Issue や Pull Request を歓迎します。

  1. フォーク: https://github.com/ngocdd/rtm-mcp

  2. フィーチャーブランチを作成: git checkout -b feat/my-tool

  3. ローカルでインストールしてテストを実行:

    npm install
    npm run typecheck
    npm test
  4. 新しいリソースメソッドやツールにはテストを追加してください。

  5. main に対して Pull Request を開く: https://github.com/ngocdd/rtm-mcp.

新しい RTM エンドポイントを追加する

  1. 対応する src/resources/<resource>.ts モジュールに型付きメソッドを追加。

  2. src/schemas/<resource>.schema.ts に zod 入力スキーマを追加。

  3. src/tools/<resource>.ts に MCP ツールを登録。

  4. tests/unit/ にユニットテストを追加。

  5. npm run typecheck && npm test を実行。

バグ報告

https://github.com/ngocdd/rtm-mcp/issues を使用してください — RTM リソース種別、エンドポイントパス、期待する応答と実際の応答、(マスクした)リクエストボディを含めてください。


ライセンス

MIT — LICENSE を参照してください。

Copyright (c) 2026 rtm-mcp contributors. Released under the MIT License; this project is free to use, modify, and distribute in both open-source and proprietary software, provided the copyright notice is preserved.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.

  • MCP Server for JFrog, providing tools for development and artifact management.

  • Search, document and execute authenticated API calls across 700+ apps via one MCP server

View all MCP Connectors

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/ngocdd/rtm-mcp'

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