Rollbar Mcp Server について
stdio で AI クライアントを Rollbar のプロジェクトデータに接続する MCP サーバーです。エラー、発生記録、デプロイ、バージョン、項目履歴を調べられ、更新やコメントにはトークンのスコープと権限が必要です。
主な機能
- 01アクセス可能なプロジェクトの一覧表示
- 02項目と発生記録の確認
- 03Rollbar 項目の検索とフィルタリング
- 04デプロイとバージョン履歴の確認
- 05項目イベントの閲覧とコメント投稿
活用シーン
- 01最新の発生記録からエラーを診断
- 02頻発するエラーの優先順位付け
- 03デプロイやリリース前後のエラー確認
- 04項目履歴の確認とコメント追加
MCP 対応
stdio 経由の MCP ツールとして、Rollbar のプロジェクト、項目、発生記録、デプロイ、バージョン、履歴の操作を提供します。読み書き操作には設定したトークンのスコープとプロジェクト権限が適用されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| counter | integer | はい | Rollbar 項目カウンター |
| max_tokens | integer | いいえ | レスポンス内の発生データの最大トークン数(デフォルト:20000)。発生データのレスポンスがこの上限を超えると、切り詰められます。 |
詳細
rollbar-mcp-server
Rollbar 用の Model Context Protocol(MCP)サーバーです。
機能
この MCP サーバーは stdio サーバータイプを実装しています。つまり、AI ツール(Claude、Cursor など)がこのサーバーを直接実行するため、別のプロセスを起動したり、http 経由で接続したりする必要はありません。
設定
ユーザーアクセストークン
アイテムの履歴を読み取り、自分の名前でコメントを投稿するには、Rollbar の ユーザースコープのアカウントアクセストークンを ROLLBAR_USER_ACCESS_TOKEN に設定するか、設定ファイルを使用します。
{ "userToken": "<user access token>" }
読み取りには read スコープを、コメントの投稿には read and write スコープを使用します。MCP は GET /projects(read スコープ)でプロジェクトを解決し、その後、write スコープを使って投稿します。履歴の読み取りには Rollbar ユーザーに view 権限が、プロジェクトへの投稿には comment 権限が必要です。プロジェクトトークンと通常のアカウントトークンでは、コメントを投稿できません。
ユーザーモードでは、プロジェクトごとのトークンも設定されている場合を含め、すべてのリクエストに設定済みユーザーのトークンが使われます。コメントの投稿者はそのトークンに基づいて決まり、別の投稿者を指定することはできません。バックエンドは投稿されたコメントに via_api: true のマークを付け、通常の購読と通知を処理します。
userToken / ROLLBAR_USER_ACCESS_TOKEN または accountToken / ROLLBAR_ACCOUNT_ACCESS_TOKEN のどちらか一方だけを設定してください。両方を設定すると、片方がファイルから、もう片方が環境変数から読み込まれた場合も含め、起動時にエラーになります。同じトークンタイプについては、ファイルの値が環境変数の値より優先されます。ファイル内の apiBase、または環境変数のみで設定する場合の ROLLBAR_API_BASE で、カスタム API エンドポイントを指定できます。
list-projects を使って、ツールの project 引数に指定するプロジェクト名または数値 ID を確認してください。ユーザートークンで有効なプロジェクトがちょうど 1 つだけ表示される場合は、省略できます。従来の ROLLBAR_ACCESS_TOKEN 設定だけで指定されたトークンは、ユーザートークンとして推定されません。投稿するには ROLLBAR_USER_ACCESS_TOKEN を明示的に設定してください。
アカウントアクセストークン
単一の Rollbar Account Access Token を設定すると、そのアカウント内の複数のプロジェクトにわたってアイテムを読み取り、更新できます。コメントの投稿には、上記のユーザーモードが必要です。
ROLLBAR_ACCOUNT_ACCESS_TOKEN(環境変数)、またはaccountToken(.rollbar-mcp.jsonのトップレベルキー。projects/token/apiBaseと同じ階層)
作成するには、Rollbar で account settings → Account Access Tokens に移動し、新しい名前付きの有効なトークンを作成して、read(update-item を使う場合は read and write)スコープを選択します。生成されたシークレット全体をすぐにコピーしてください。Rollbar で表示されるのは一度だけです。ソース管理にコミットせず、シークレットマネージャーやシェルの環境変数設定などに安全に保管してください。
{
"accountToken": "acct_tok_abc123"
}
一部のプロジェクトでより厳格な制御を行いたい場合は、アカウントトークンに read スコープを設定してすべてのプロジェクトを読み取れるようにし、update-item が必要な少数のプロジェクトだけを、read と write の両方を許可する独自のプロジェクトトークンとともに明示的に列挙してください。以下の優先順位ルールに従い、明示的に設定したプロジェクトトークンは、そのプロジェクトに限ってアカウントトークンより優先されます。
{
"accountToken": "acct_tok_abc123",
"projects": [
{ "name": "backend", "token": "tok_backend_readwrite" }
]
}
プロジェクトトークンの設定は、この機能による変更を受けません。アカウントトークンを設定しなければ、既存の単一プロジェクトまたは複数プロジェクトの構成の動作は何も変わりません。また、2 つのモードを併用することもできます。project の名前が、独自のトークンを持つ明示的に設定済みのプロジェクトと一致する場合、アカウントトークンが設定されていても、そのプロジェクトでは常にプロジェクト固有のトークンが使用されます。
より安全にアクセスするためのプロジェクトごとの設定
単一プロジェクト:環境変数
ROLLBAR_ACCESS_TOKEN:Rollbar プロジェクトのアクセストークン。ROLLBAR_API_BASE(任意):API のベース URL を上書きします(デフォルトはhttps://api.rollbar.com/api/1)。
複数プロジェクト:設定ファイル
作業ディレクトリまたはホームディレクトリに .rollbar-mcp.json を作成するか、ROLLBAR_CONFIG_FILE を設定してカスタムパスを指定します。チェックイン済みのテンプレートは rollbar-mcp-example.json にあります。これを .rollbar-mcp.json にコピーし、実際のトークンを入力してください。
単一プロジェクトの簡易形式:
{ "token": "tok_abc123" }
複数プロジェクト:
{
"projects": [
{ "name": "backend", "token": "tok_abc123" },
{ "name": "frontend", "token": "tok_xyz789" }
]
}
設定ファイルの検索順序:
ROLLBAR_CONFIG_FILE環境変数- 現在の作業ディレクトリにある
.rollbar-mcp.json - ホームディレクトリにある
~/.rollbar-mcp.json ROLLBAR_ACCESS_TOKEN、ROLLBAR_ACCOUNT_ACCESS_TOKEN、またはROLLBAR_USER_ACCESS_TOKEN環境変数
設定ファイルが存在するものの無効な場合、優先順位の低い設定元にはフォールバックせず、サーバーはエラーで終了します。
必要なスコープ:
- 読み取り専用ツール(
get-item-details、get-deployments、get-version、get-top-items、list-items、get-replay、list-projects、list-occurrences、list-item-events)は、プロジェクトの権限が許す範囲で、read スコープのアカウントトークンまたはユーザートークンで動作します。 update-itemには、read と write の両方のスコープを持つアカウントトークンが必要です。アカウントトークンを使った呼び出しでは、まずGET /projectsで対象プロジェクトを解決し(read)、次にPATCHリクエストを実行します(write)。write のみのトークンでは、更新処理に到達する前にプロジェクトの解決段階で失敗します。- プロジェクトトークンと同様に、
update-itemが特に必要な場合を除き、read スコープのトークンを使用してください。 post-item-commentには、read と write のスコープおよびプロジェクトの comment 権限を持つユーザートークンが必要です。
明示的なアカウントトークンがなく、ROLLBAR_ACCESS_TOKEN のみが設定されていることをサーバーが検出すると、そのトークンが実際にはアカウントトークンかどうかを確認するため、GET /projects に対するチェックを一度だけ実行し、結果をキャッシュします。アカウントモードが自動的に有効になります。単一プロジェクトのスコープ付きトークンは、これまでどおり動作します。
ツール
list-projects():このサーバーがアクセスできる Rollbar プロジェクトを確認します。単一プロジェクトのトークンを使用している場合は、設定済みのプロジェクトが一つであることを確認できます。複数のプロジェクトにアクセスできるアカウントトークンを使用している場合は、ほかのツールの project パラメーターに渡すプロジェクト名または ID を調べるために使います。
get-item-details(counter, max_tokens?, project?):単一の Rollbar 項目の詳細と最新の発生情報をまとめて取得します。項目を調べた後に最新のエラーを別途取得する必要はありません。Rollbar の UI に表示される項目のカウンター(番号)を指定してください。
max_tokens(デフォルトは 20000)は、レスポンスに含める発生データの最大サイズを制限します。発生情報には詳細なデータ(長いスタックトレースやリクエストデータなど)が大量に含まれることがあるため、項目を一度取得しただけでレスポンスが膨れ上がるのを防ぎます。任意の project では、設定済みの名前、またはアカウントトークンモードでの実際のプロジェクト名/IDを指定して、使用するプロジェクトを選択できます。プロンプトの例:Diagnose the root cause of Rollbar item #123456
get-deployments(limit, project?):プロジェクトの最近のデプロイを一覧表示します。デプロイの実施時期と、エラーが発生または停止した時期を照らし合わせることができます。複数のプロジェクトが設定されている場合、またはアカウントトークンモードの場合は、任意の project を指定します。プロンプトの例:List the last 5 deployments または Are there any failed deployments?
get-version(version, environment, project?):特定のバージョン(Git SHA など)が環境内でどのように動作したかを、発生情報に初めて現れた時期と最後に現れた時期を含めて調べます。特定のリリースが問題を引き起こしたか、修正したかを確認するのに便利です。複数のプロジェクトが設定されている場合、またはアカウントトークンモードの場合は、任意の project を指定します。
get-top-items(environment, project?):現在実際に何が問題を起こしているかを確認します。指定した環境で過去24時間に最も多く発生した項目を返すため、項目の一覧全体を確認するのではなく、最初に調査する対象をトリアージできます。複数のプロジェクトを設定している場合、またはアカウントトークンモードの場合は、projectを任意で指定できます。
list-items(status?, level?, environment?, page?, limit?, query?, project?):一覧全体を取得する代わりに、Rollbarの項目を検索して絞り込みます。status(デフォルトはactiveで、resolvedやmutedの項目は表示されません)、level、environmentで絞り込むか、queryのテキストで検索します。一度に返される件数は、pageとlimitで指定します。複数のプロジェクトを設定している場合、またはアカウントトークンモードの場合は、projectを任意で指定できます。
list-occurrences(counter, limit?, page?, last_id?, max_tokens?, project?):項目の概要だけでなく、Rollbar項目の実際の発生情報を調べます。項目のcounterを渡すと、それぞれにタイムスタンプ、環境、エラーの詳細を含む個別のインスタンスを返します。
返される発生情報の件数はlimitで指定します(デフォルトは3、最大は100)。さらに取得するには、pageまたはlast_idを使用します。last_idはカーソルベースのページネーションです。直前に取得した発生情報のidを渡すと、その後の一連の発生情報が返されます。通常のページ番号では、呼び出しの間に発生情報が移動すると結果が欠落したり重複したりする可能性がありますが、last_idではその問題が起きないため、多数の発生情報をページ分割して取得する場合はこちらを使用してください。両方を渡した場合は、last_idが優先されます。ページ内の発生情報は常にタイムスタンプ順(新しい順)に並ぶため、最後に表示されるものを次のlast_idとして確実に渡せます。
特に大きなスタックトレースやリクエストペイロードを含むエラーでは、発生情報のデータがすぐに大きくなることがあります。max_tokens(デフォルトは20000、最小値は100)は、応答全体のおおよそのサイズをmax_tokens * 4文字に制限します。上限がないと、少数の発生情報だけで会話に収まる量を大幅に超えてしまう可能性があるため、この機能を追加しました。要求した発生情報はすべて応答に含まれます。上限内に収めるために一部を削除するのではなく、まず最も大きな発生情報から段階的に縮小し、可能な限り有用なフィールド(level、environment、例外メッセージなど)を保持してから、idとタイムスタンプのみの形式に切り替えます。この処理が行われると、トップレベルの_truncationフィールドで通知されます。limitとmax_tokensの組み合わせでは、すべての発生情報を最小形式にしても収まらない場合、不完全なページを黙って返すのではなく、limitを下げるかmax_tokensを上げるよう明示的なエラーで通知します。
Rollbar項目の中には、複数の項目をまとめたグループになっているものがあります。Rollbarの公開APIでは、これらの発生情報をまだ正しく一覧表示できません。そのため、このツールをグループ項目に対して呼び出すと、発生情報がまったくないかのような空の一覧を黙って表示する代わりに、グループ項目には対応していないことを示すgroup_item_not_supportedメッセージを明示的に返します。
複数のプロジェクトを設定している場合は、projectを任意で指定できます。プロンプトの例:Show me the last 3 occurrences of item #24265
list-item-events(item_id?, counter?, type?, page?, limit?, project?):システムイベントを含む項目の履歴を、古い順に読み取ります。Rollbarに表示されるグローバルなitem_idか、プロジェクト内のcounterのどちらか一方を指定してください。pageのデフォルトは1です。limitのデフォルトは20で、1~5000を指定できます。結果は{ events, page, total_count }で、件数はフィルター適用後の値です。空のページが返される場合もあります。ページとイベントの詳細は変更せずに返されます。応答を小さくするには、limitを下げてください。
typeには、次の値のいずれかを配列で指定します。省略すると、利用可能なすべてのタイプが対象になります。
| タイプ | 追加のイベントフィールド |
|---|---|
item_comment | text、via_api |
item_level_history | level |
item_status_history | status、comment、および利用可能な解決/デプロイの詳細 |
item_snooze_history | snooze_type、snooze_status、有効期限のしきい値 |
item_assigned_user_history | assigned_user_id |
item_assigned_team_history | assigned_team_id |
item_title_history | title、occurrence_id |
item_group_history | action、item_counters、count |
item_merge_history | action、group_item_counter |
すべてのイベントには id、type、item_id、user_id、username、timestamp が含まれます。作成者フィールドが null の場合もあります。並び順はタイムスタンプ、タイプ、IDの昇順です。異なるイベントタイプが同じIDを持つ場合があります。イベントは (type, id) で識別してください。解決時のメモは item_status_history.comment に表示されるため、解決に関するコンテキストを探す場合はこのタイプも含めてください。履歴エンドポイントにはカーソル、日付、テキスト、作成者によるフィルターはありません。アカウントでスヌーズ履歴が利用できない場合は省略され、その状態で明示的に要求すると権限エラーが返されます。
list-item-events の引数の例:
{ "project": "Backend", "counter": 42, "type": ["item_comment", "item_status_history"], "page": 1, "limit": 20 }
post-item-comment(item_id?, counter?, comment, project?):接続中のユーザーのIDでコメントを追加します。アイテム識別子をちょうど1つ指定し、空白以外の文字を含む comment テキストを指定してください。作成されたコメントが返され、id、type: "comment"、source: "comment"、item_id、user_id、username、timestamp、text、via_api: true が含まれます。list-item-events で item_comment に絞り込んで、追加したコメントを確認してください。
{ "project": "Backend", "counter": 42, "comment": "Investigated the regression; the fix is in PR #123." }
バックエンドでは、保存されるコメントデータ全体のシリアライズ後のサイズを、作成者メタデータとJSONエスケープを含めて 65,535 bytes までに制限しています。これは文字数の上限でも、テキストだけのバイト数の上限でもありません。MCPはテキストを変更せずに送信し、切り詰める代わりにバックエンドのサイズエラーを報告します。投稿に失敗しても再試行しません。不確かな結果でも、コメントがすでに作成されている可能性があります。再試行する前に履歴を確認してください。
どちらのツールもバックエンドのエラーをそのまま保持します。一般的なエラーは、無効な引数(400/422)、認証(401)、スコープ/プロジェクトの権限不足または利用できないスヌーズ履歴(403)、選択したプロジェクト外のアイテムまたは見つからないアイテム(404)、コメントサイズ超過(413)です。投稿にはJSONが必要です(415)。このコンテンツタイプはツールによって指定されます。ユーザー認証情報が設定されていない場合、サーバーはHTTP呼び出しを行う前に投稿を拒否します。
get-replay(environment, sessionId, replayId, delivery?, project?):特定のセッションのセッションリプレイのメタデータとペイロードを取得し、エラーに至るまでにユーザーが実際に行った操作を確認できます。
デフォルト(delivery="file")では、リプレイのJSONがディスク上の一時ファイルに書き込まれ、ツールはファイルパスを返します。どこでも利用できますが、自分で削除するまでファイルは残ります。代わりに delivery="resource" を設定すると、MCP対応クライアントが直接読み取れる rollbar:// リンクが返され、ファイルは残りません。ただし、サーバーが単一のプロジェクトとのみ通信する場合(単一プロジェクトトークンモード、またはプロジェクトが1つだけのアカウントトークンモード)に限り利用できます。複数のプロジェクトを設定している場合は、delivery="file" を使用し、project を明示的に指定してください。
複数のプロジェクトが設定されている場合、またはアカウントトークンモードの場合は、project は省略可能です。プロンプトの例:Fetch the replay 789 from session abc in staging。
update-item(itemId, status?, level?, title?, assignedUserId?, resolvedInVersion?, snoozed?, teamId?, project?):アイテムのステータス、レベル、タイトル、担当者、解決バージョン、スヌーズ状態、または担当チームを変更できます。RollbarのUIに切り替えずに、アイテムへ直接操作できます。
書き込みアクセス権が必要です。ユーザーの権限に応じて、write スコープを持つプロジェクトトークン、または read と write の両方のスコープを持つアカウント/ユーザートークンを使用してください。読み取り専用トークンでは失敗します。複数のプロジェクトが設定されている場合、またはアカウントトークンモードの場合は、project は省略可能です。プロンプトの例:Mark Rollbar item #123456 as resolved または Assign item #123456 to user ID 789。
使用方法
Claude Code
.mcp.json を次のように設定します。
環境変数を使用する場合(単一のプロジェクト):
{
"mcpServers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_ACCESS_TOKEN": "<project read/write access token>"
}
}
}
}
必要に応じて、env ブロックに ROLLBAR_API_BASE を含めると、本番環境以外の API エンドポイントを指定できます。
アカウントアクセストークンを使用する場合(アカウント内のすべてのプロジェクトで使用でき、プロジェクトごとのトークンは不要です):
{
"mcpServers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_ACCOUNT_ACCESS_TOKEN": "<account access token>"
}
}
}
}
設定ファイルを使用する場合(単一または複数のプロジェクト):
{
"mcpServers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_CONFIG_FILE": "/path/to/.rollbar-mcp.json"
}
}
}
}
Codex CLI
~/.codex/config.toml に追加します。
[mcp_servers.rollbar]
command = "npx"
args = ["-y", "@rollbar/mcp-server@latest"]
env = { "ROLLBAR_ACCESS_TOKEN" = "<project read/write access token>" }
または、設定ファイルを使用します。
[mcp_servers.rollbar]
command = "npx"
args = ["-y", "@rollbar/mcp-server@latest"]
env = { "ROLLBAR_CONFIG_FILE" = "/path/to/.rollbar-mcp.json" }
Junie
.junie/mcp/mcp.json を次のように設定します(環境変数、または設定ファイル用の ROLLBAR_CONFIG_FILE を使用します)。
{
"mcpServers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_ACCESS_TOKEN": "<project read/write access token>"
}
}
}
}
Cursor
Cursor の MCP サーバーを設定します(Cursor Settings → Features → MCP を開くか、設定で「MCP」を検索します)。環境変数または設定ファイルを使用します。
環境変数を使用する場合(単一のプロジェクト):
{
"mcpServers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_ACCESS_TOKEN": "<project read/write access token>"
}
}
}
}
設定ファイルを使用する場合(単一または複数のプロジェクト):
{
"mcpServers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_CONFIG_FILE": "/path/to/.rollbar-mcp.json"
}
}
}
}
MCP の設定を変更した後は、Cursor を再起動するか、ウィンドウを再読み込みしてください。npx の代わりにローカルビルドを使用する方法については、CONTRIBUTING.md を参照してください。
VS Code(GitHub Copilot を含む)
.vscode/mcp.json を次のように設定します(環境変数、または設定ファイル用の ROLLBAR_CONFIG_FILE を使用します)。
{
"servers": {
"rollbar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_ACCESS_TOKEN": "<project read/write access token>"
}
}
}
}
または、ローカルの開発用インストールを使用する方法については、CONTRIBUTING.md を参照してください。
これは、GitHub Copilot のエージェントモードが VS Code で読み込むファイルと同じです。リポジトリ内の全員とサーバーを共有するには .vscode/mcp.json に配置し、トークンをリポジトリに含めないようにするには、ユーザープロファイルの mcp.json(Command Palette → MCP: Open User Configuration)に配置します。保存後、MCP: List Servers → rollbar → Start でサーバーを起動し、Copilot Chat のエージェントモードツールバーにある 🛠️ アイコンからツールを選択します。
GitHub Copilot CLI
~/.copilot/mcp-config.json に追加します。Copilot CLI では mcpServers(VS Code の servers ではありません)を使用し、stdio トランスポートは "type": "local" と記述することに注意してください。
{
"mcpServers": {
"rollbar": {
"type": "local",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_ACCESS_TOKEN": "<project read/write access token>"
},
"tools": ["*"]
}
}
}
または、設定ファイルを使用するには、env ブロックを ROLLBAR_CONFIG_FILE に置き換えます。
{
"mcpServers": {
"rollbar": {
"type": "local",
"command": "npx",
"args": ["-y", "@rollbar/mcp-server@latest"],
"env": {
"ROLLBAR_CONFIG_FILE": "/path/to/.rollbar-mcp.json"
},
"tools": ["*"]
}
}
}
tools: ["*"] を指定すると、すべての Rollbar ツールが有効になります。明示的に選択する場合は、特定のツール名に絞り込んでください。アカウント全体ではなく、1 つのリポジトリにサーバーの適用範囲を限定するには、リポジトリのルートにある .mcp.json または .github/mcp.json に同じ JSON を配置します。Copilot CLI がプロジェクトレベルの設定を読み込むのは、初回起動時にフォルダーの信頼を確認した後です。また、プロジェクトの定義は ~/.copilot/mcp-config.json より優先されます。
対話型セッション内で /mcp を実行するか、シェルから copilot mcp list を実行して、サーバーが接続されていることを確認します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。