Skip to main content
Glama
jilio

Telebugs MCP Server

by jilio

Telebugs MCP サーバー

セルフホスト型の Sentry 代替ツールである Telebugs からエラーレポートを取得できるようにする MCP (Model Context Protocol) サーバーです。

アーキテクチャ

┌─────────────────┐                           ┌─────────────────────────────────────┐
│  Local Machine  │                           │              Remote VPS             │
│                 │         HTTPS             │                                     │
│  Claude Desktop │ ◄───────────────────────► │  Bun MCP Server   ───►  Telebugs    │
│                 │      (SSE transport)      │     :3100              SQLite DB    │
└─────────────────┘                           └─────────────────────────────────────┘

Related MCP server: otel-mcp

機能

  • 直接データベースアクセス - Telebugs の SQLite データベースの読み書き

  • MCP OAuth 認証 - Telebugs ユーザーによるブラウザベースの OAuth フロー

  • API キー認証 - 既存の Telebugs ユーザー API キーをベアラートークンとして利用可能

  • アクセス制御 - ユーザーがメンバーであるプロジェクトのみを表示

  • SSE トランスポート - リモートの Claude Desktop 接続をサポート

  • トークン効率化 - コンパクトな JSON、デフォルトで未解決エラーのみを対象

  • シングルバイナリ - Linux 向けクロスコンパイル、ランタイム依存関係なし

利用可能なツール

ツール

説明

list_projects

アクセス可能な全プロジェクトを一覧表示

list_error_groups

重複排除されたエラーグループをフィルタリングして一覧表示

get_error_group

特定のエラーグループの詳細を取得

list_reports

個別のエラー発生を一覧表示

get_report

バックトレース、パンくずリスト、コンテキストを含む完全なレポートを取得

get_statistics

集計されたエラー統計を取得

search_errors

エラーの全文検索

list_releases

プロジェクトの全リリースとアーティファクト数を一覧表示

list_release_artifacts

リリースのアップロード済みアーティファクトを一覧表示

get_sourcemap_status

デバッグ ID にソースマップが利用可能か確認

resolve_error_group

エラーグループを解決済みとしてマーク

unresolve_error_group

解決済みエラーグループを再オープン

mute_error_group

エラーグループをミュート(期限設定可能)

unmute_error_group

ミュートされたエラーグループのミュートを解除

add_note

エラーグループにメモを追加

delete_note

エラーグループからメモを削除(作成者のみ)

create_project

新規プロジェクトを作成(管理者のみ)

update_project

プロジェクト名やタイムゾーンを更新(管理者のみ)

delete_project

プロジェクトをソフト削除(管理者のみ)

get_project_token

SDK 設定用のプロジェクトトークン/DSN を取得

regenerate_project_token

プロジェクトトークンを再生成(管理者のみ)

add_project_member

プロジェクトにユーザーを追加(管理者のみ)

remove_project_member

プロジェクトからユーザーを削除(管理者のみ)

list_project_members

プロジェクトメンバーとロールを一覧表示

list_platforms

プロジェクト作成時に利用可能なプラットフォーム名を一覧表示

list_error_groups

パラメータ

デフォルト

説明

project_id

number

-

プロジェクト ID でフィルタリング

status

string

"open"

"open", "resolved", "muted", または "all"

error_type

string

-

エラータイプで完全一致フィルタリング

error_message

string

-

エラーメッセージでフィルタリング(部分一致)

from

string

-

開始日 (ISO 8601)

to

string

-

終了日 (ISO 8601)

limit

number

20

最大結果数 (1-100)

offset

number

0

ページネーション用のスキップ数

ページネーション用に total_count を返します。

list_reports

パラメータ

デフォルト

説明

group_id

number

-

エラーグループ ID でフィルタリング

project_id

number

-

プロジェクト ID でフィルタリング

from

string

-

開始日 (ISO 8601)

to

string

-

終了日 (ISO 8601)

limit

number

20

最大結果数 (1-100)

offset

number

0

ページネーション用のスキップ数

ページネーション用に total_count を返します。

パラメータ

デフォルト

説明

query

string

必須

全文検索クエリ

project_id

number

-

プロジェクト ID でフィルタリング

limit

number

20

最大結果数 (1-100)

resolve_error_group / unresolve_error_group / unmute_error_group

これらのツールは group_id (number) のみが必要です。

mute_error_group

パラメータ

デフォルト

説明

group_id

number

必須

エラーグループ ID

muted_until

string

-

ミュート終了日時 (ISO 8601)

add_note

パラメータ

デフォルト

説明

group_id

number

必須

エラーグループ ID

content

string

必須

メモの内容

delete_note

パラメータ

デフォルト

説明

group_id

number

必須

エラーグループ ID

note_id

number

必須

削除するメモの ID

create_project (管理者のみ)

パラメータ

デフォルト

説明

name

string

必須

プロジェクト名(一意)

platform

string

必須

プラットフォーム名 — list_platforms でオプションを確認

timezone

string

"UTC"

プロジェクトのタイムゾーン (例: "America/New_York")

update_project (管理者のみ)

パラメータ

デフォルト

説明

project_id

number

必須

更新するプロジェクト ID

name

string

-

新しいプロジェクト名

timezone

string

-

新しいタイムゾーン

delete_project / regenerate_project_token (管理者のみ)

これらのツールは project_id (number) のみが必要です。

add_project_member / remove_project_member (管理者のみ)

パラメータ

デフォルト

説明

project_id

number

必須

プロジェクト ID

user_id

number

必須

追加/削除するユーザー ID

get_project_token / list_project_members

これらのツールは project_id (number) のみが必要です。

list_platforms

パラメータなし。利用可能な全プラットフォーム名を返します。

インストール

cd telebugs-mcp
bun install

ビルド

# Build for current platform
bun run build

# Build for Linux (for VPS deployment)
bun run build:linux

設定

変数

説明

デフォルト

TELEBUGS_DB_PATH

Telebugs SQLite データベースへのパス

/var/lib/docker/volumes/telebugs-data/_data/db/production.sqlite3

PORT

リッスンする HTTP ポート

3100

MCP_BASE_URL

OAuth メタデータおよびリダイレクト用の公開ベース URL

リクエストから推論

OAUTH_ACCESS_TOKEN_TTL_SECONDS

MCP OAuth アクセストークンの有効期間

43200

TELEBUGS_SECRET_KEY_BASE

Telebugs Rails の secret_key_base(サインインリンクの受け入れに必要)

未設定

ローカルでの実行

TELEBUGS_DB_PATH=/path/to/telebugs/storage/db/development.sqlite3 bun run dev

デプロイ

シングルバイナリ

# Copy to server
scp telebugs-mcp-linux root@your-server:~/telebugs-mcp-linux

# On server
chmod +x ~/telebugs-mcp-linux
./telebugs-mcp-linux

systemd サービス

telebugs-mcp.service/etc/systemd/system/ にコピーします:

cp telebugs-mcp.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable telebugs-mcp
systemctl start telebugs-mcp

ステータスの確認:

systemctl status telebugs-mcp

Nginx リバースプロキシ (オプション)

location /mcp {
    proxy_pass http://127.0.0.1:3100;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # SSE support
    proxy_set_header Connection '';
    proxy_buffering off;
    proxy_cache off;
    chunked_transfer_encoding off;
}

Claude Desktop の設定

OAuth 対応の MCP クライアントの場合、サーバー URL のみを設定します。クライアントは OAuth メタデータを検出し、ブラウザのサインインページを開き、発行されたベアラートークンで再試行します:

{
  "mcpServers": {
    "telebugs": {
      "url": "https://your-server/mcp"
    }
  }
}

MCP サーバーをリバースプロキシの背後で実行する場合は、MCP_BASE_URL を公開 HTTPS オリジンに設定してください:

MCP_BASE_URL=https://your-server bun run start

OAuth サインインページは、Bun の Tailwind プラグインによって生成された CSS を使用して React でレンダリングされます。Telebugs のサインインページと一致し、リクエスト元のクライアントとリダイレクトオリジンを表示し、認可コードを発行する前に明示的な承認を求めます。Telebugs が使用する users.password_digest の bcrypt と照合される Telebugs のメールアドレス/パスワードを受け付けます。また、TELEBUGS_SECRET_KEY_BASE が設定されている場合、/session/transfers/... からの Telebugs サインインリンクも受け付けます。これにより、MCP サーバーは Rails の active_record/signed_id 検証キーを導出し、署名付き ID ペイロードを検証できます。

Telebugs が SECRET_KEY_BASE の代わりに RAILS_MASTER_KEY で設定されている場合は、Telebugs アプリで bin/rails runner 'puts Rails.application.secret_key_base' を実行して値を取得し、TELEBUGS_SECRET_KEY_BASE としてこのサーバーに渡してください。

MCP OAuth をまだサポートしていないクライアントの場合は、静的なベアラートークンが引き続き機能します。~/Library/Application Support/Claude/claude_desktop_config.json (macOS) に追加してください:

{
  "mcpServers": {
    "telebugs": {
      "url": "http://your-server:3100/mcp",
      "headers": {
        "Authorization": "Bearer your_telebugs_api_key"
      }
    }
  }
}

API キーの取得方法

  1. Telebugs インスタンスにログイン

  2. ユーザー → アカウント設定 → セキュリティ に移動

  3. API キーをコピー

セキュリティ

  • プロジェクト管理(作成、更新、削除、トークン再生成、メンバーシップ)には管理者のみの操作を強制

  • 書き込み操作はエラー状態の変更、メモ、プロジェクト管理に限定

  • すべての変更はユーザーのプロジェクトメンバーシップの範囲内に限定

  • API キーはアクティブなユーザーに対してのみ検証

  • OAuth アクセストークンは短命であり、MCP サーバーのメモリ内に保持

  • すべてのクエリはユーザーのプロジェクトメンバーシップによってフィルタリング

  • パラメータ化されたクエリ(SQL インジェクションなし)

ヘルスチェック

curl http://localhost:3100/health
# {"status":"ok"}

ライセンス

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server that gives AI agents access to your application's OpenTelemetry traces for querying, analysis, and debugging.
    5
    7 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for integrating self-hosted Sentry with AI assistants, enabling project and issue listing, issue details with stack traces, and event retrieval.
    7
    7 npm
    1
    MIT