Airbrake MCP by usefulapi
Read Airbrake projects, error groups, notices, deploys and stats; mute or unmute error groups.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"airbrake": {
"url": "https://airbrake.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://airbrake.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(13)
🟢airbrake_list_projects(page, limit)
List the Airbrake projects your user can see, with id, name, last deploy, notice total, rejected count, deploy count and resolved/unresolved error-group counts. Start here to get a project_id. Airbrake API: GET /api/v4/projects.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"limit": {
"description": "Items per page (default 20, max 100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_get_project(project_id)
Get one Airbrake project: name, last deploy id/time, notice total, rejection count, deploy count and resolved/unresolved error-group counts. Airbrake API: GET /api/v4/projects/{project_id}.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_list_groups(project_id, order, deploy_id, archived, muted, ...)
List a project's error groups ("errors" in the Airbrake app): each with id, resolved flag, error type/message/backtrace, context (environment, severity, component/action), last notice time, notice counts and last deploy. Sorted by last notice by default; order by notice_count, weight or created instead. Filter by deploy, archived or muted groups, or creation time. Backtraces are cut to the first 5 frames (set full_backtraces for all; airbrake_get_group shows one group in full). Airbrake API: GET /api/v4/projects/{project_id}/groups.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"order": {
"description": "Sort order (default last_notice).",
"type": "string",
"enum": [
"last_notice",
"notice_count",
"weight",
"created"
]
},
"deploy_id": {
"description": "Only groups of this deploy.",
"type": "string",
"pattern": "^\\d{1,24}$"
},
"archived": {
"description": "true = return archived groups.",
"type": "boolean"
},
"muted": {
"description": "true = return muted groups.",
"type": "boolean"
},
"start_time": {
"description": "Only groups created after this RFC 3339 date-time (with timezone).",
"type": "string"
},
"end_time": {
"description": "Only groups created before this RFC 3339 date-time (with timezone).",
"type": "string"
},
"full_backtraces": {
"description": "Return every backtrace frame (default: first 5 per error).",
"type": "boolean"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"limit": {
"description": "Items per page (default 20, max 100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_get_group(project_id, group_id)
Get one error group in full: resolved flag, every error with its complete backtrace (file, function, line, column), context, last deploy, last notice id/time, notice counts and creation time. Airbrake API: GET /api/v4/projects/{project_id}/groups/{group_id}.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"group_id": {
"type": "string",
"pattern": "^\\d{1,24}$",
"description": "Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups."
}
},
"required": [
"project_id",
"group_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_get_group_stats(project_id, group_id, period, since, until, ...)
Occurrence counts over time for one error group: parallel arrays `time`, `accepted` (notices counted) and `limited` (dropped by rate limits), aggregated per period, from `since` until `until` (default now). Use it to see whether an error is spiking or fading. Airbrake API: GET /api/v5/projects/{project_id}/groups/{group_id}/stats.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"group_id": {
"type": "string",
"pattern": "^\\d{1,24}$",
"description": "Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups."
},
"period": {
"type": "string",
"pattern": "^(\\d{1,3}[mhd]|minute|hour|day)$",
"description": "Aggregation period. The reference lists 1m, 5m, 15m, 30m, 2h, 3h, 6h, 12h, 24h (project stats) and minute, hour (group stats)."
},
"since": {
"type": "string",
"description": "Start (inclusive), RFC 3339 date-time with timezone; sent as time__gte in Unix seconds."
},
"until": {
"description": "End (exclusive, default now), RFC 3339 date-time with timezone; sent as time__lt.",
"type": "string"
},
"limit": {
"description": "Max data points (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"required": [
"project_id",
"group_id",
"period",
"since"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_list_notices(project_id, group_id, version, full_backtraces, page, ...)
List the individual occurrences (notices) of one error group, newest first: each with id, deploy, errors and backtrace, context (environment, hostname, app version, user, URL, severity, notifier), environment, session and request params, and created time. Optionally only notices of one app version. Backtraces are cut to the first 10 frames unless full_backtraces is set. Airbrake API: GET /api/v4/projects/{project_id}/groups/{group_id}/notices.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"group_id": {
"type": "string",
"pattern": "^\\d{1,24}$",
"description": "Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups."
},
"version": {
"description": "Only notices reported by this app version (e.g. 1.0).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"full_backtraces": {
"description": "Return every backtrace frame (default: first 10 per error).",
"type": "boolean"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"limit": {
"description": "Items per page (default 20, max 100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"project_id",
"group_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_get_notice_status(project_id, notice_id)
Check what happened to a reported error, by the notice id that Airbrake's create-notice API returned: code = processed (groupId = its error group), rejected (message = why, e.g. an app-version filter), archived (past retention) or not_found (unknown or still processing). Airbrake API: GET /api/v4/projects/{project_id}/notice-status/{notice_id}.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"notice_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The notice id returned by Airbrake's create-notice API (v3) when the error was reported."
}
},
"required": [
"project_id",
"notice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_list_deploys(project_id, page, limit)
List a project's tracked deploys: environment, username/email of the deployer, repository, revision (commit) and version. Use it to correlate new errors with a release. Airbrake API: GET /api/v4/projects/{project_id}/deploys.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"limit": {
"description": "Items per page (default 20, max 100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_get_deploy(project_id, deploy_id)
Get one deploy: environment, deployer, repository, revision and version. Airbrake API: GET /api/v4/projects/{project_id}/deploys/{deploy_id}.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"deploy_id": {
"type": "string",
"pattern": "^\\d{1,24}$",
"description": "Deploy id (digits, as a string). From airbrake_list_deploys or a group's lastDeployId."
}
},
"required": [
"project_id",
"deploy_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_list_activities(project_id, page, limit)
List a project's activity feed: who did what and when (for example group.resolved), with user name, activity, the affected object (trackableType/trackableId) and timestamps. Airbrake API: GET /api/v4/projects/{project_id}/activities.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"limit": {
"description": "Items per page (default 20, max 100 here).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢airbrake_get_project_stats(project_id, period, since, limit)
Error volume over time for a whole project: parallel arrays `time`, `accepted` (notices counted), `limited` (dropped by rate limits) and `overQuota` (dropped over the plan quota), aggregated per period (1m, 5m, 15m, 30m, 2h, 3h, 6h, 12h, 24h). Airbrake API: GET /api/v5/projects/{project_id}/stats.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"period": {
"type": "string",
"pattern": "^(\\d{1,3}[mhd]|minute|hour|day)$",
"description": "Aggregation period. The reference lists 1m, 5m, 15m, 30m, 2h, 3h, 6h, 12h, 24h (project stats) and minute, hour (group stats)."
},
"since": {
"description": "Start (inclusive), RFC 3339 date-time with timezone; sent as time__gte in Unix seconds.",
"type": "string"
},
"limit": {
"description": "Max data points (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴airbrake_mute_group(project_id, group_id)
WRITE: mute one error group. Airbrake removes it from the default error list and stops ALL notifications for it (email, Slack and other integrations) until it is unmuted. Notices are still recorded. Reversible with airbrake_unmute_group. Airbrake API: PUT /api/v4/projects/{project_id}/groups/{group_id}/muted.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"group_id": {
"type": "string",
"pattern": "^\\d{1,24}$",
"description": "Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups."
}
},
"required": [
"project_id",
"group_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡airbrake_unmute_group(project_id, group_id)
WRITE: unmute one error group, so it is back in the default error list and its notifications resume. Airbrake API: PUT /api/v4/projects/{project_id}/groups/{group_id}/unmuted.
入力スキーマ
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Airbrake project id (from airbrake_list_projects)."
},
"group_id": {
"type": "string",
"pattern": "^\\d{1,24}$",
"description": "Error group id (digits, as a string: Airbrake group ids exceed JavaScript's safe integers). From airbrake_list_groups."
}
},
"required": [
"project_id",
"group_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス