Skip to main content
Glama
jilio

Telebugs MCP Server

by jilio

Telebugs MCP-Server

Ein MCP-Server (Model Context Protocol), der es KI-Agenten ermöglicht, Fehlerberichte von Telebugs, einer selbst gehosteten Sentry-Alternative, abzurufen.

Architektur

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

Related MCP server: otel-mcp

Funktionen

  • Direkter Datenbankzugriff - Lesen und Schreiben in der Telebugs SQLite-Datenbank

  • MCP OAuth-Authentifizierung - Browserbasierter OAuth-Ablauf, unterstützt durch Telebugs-Benutzer

  • API-Schlüssel-Authentifizierung - Akzeptiert weiterhin bestehende Telebugs-Benutzer-API-Schlüssel als Bearer-Token

  • Zugriffskontrolle - Benutzer sehen nur Projekte, deren Mitglieder sie sind

  • SSE-Transport - Ermöglicht Remote-Verbindungen mit Claude Desktop

  • Token-effizient - Kompaktes JSON, standardmäßig nur offene Fehler

  • Einzelne Binärdatei - Cross-Kompilierung für Linux, keine Laufzeitabhängigkeiten

Verfügbare Werkzeuge

Werkzeug

Beschreibung

list_projects

Alle zugänglichen Projekte auflisten

list_error_groups

Deduplizierte Fehlergruppen mit Filterung auflisten

get_error_group

Details einer bestimmten Fehlergruppe abrufen

list_reports

Einzelne Fehlervorkommen auflisten

get_report

Vollständigen Bericht mit Backtrace, Breadcrumbs und Kontext abrufen

get_statistics

Aggregierte Fehlerstatistiken abrufen

search_errors

Volltextsuche über Fehler hinweg

list_releases

Alle Releases für ein Projekt mit Artefaktanzahl auflisten

list_release_artifacts

Hochgeladene Artefakte für ein Release auflisten

get_sourcemap_status

Prüfen, ob für eine Debug-ID Sourcemaps verfügbar sind

resolve_error_group

Eine Fehlergruppe als gelöst markieren

unresolve_error_group

Eine gelöste Fehlergruppe wieder öffnen

mute_error_group

Eine Fehlergruppe mit optionalem Ablaufdatum stummschalten

unmute_error_group

Eine stummgeschaltete Fehlergruppe wieder aktivieren

add_note

Eine Notiz zu einer Fehlergruppe hinzufügen

delete_note

Eine Notiz aus einer Fehlergruppe löschen (nur für den Autor)

create_project

Ein neues Projekt erstellen (nur für Administratoren)

update_project

Name oder Zeitzone eines Projekts aktualisieren (nur für Administratoren)

delete_project

Ein Projekt logisch löschen (nur für Administratoren)

get_project_token

Token/DSN eines Projekts für die SDK-Konfiguration abrufen

regenerate_project_token

Token eines Projekts neu generieren (nur für Administratoren)

add_project_member

Einen Benutzer zu einem Projekt hinzufügen (nur für Administratoren)

remove_project_member

Einen Benutzer aus einem Projekt entfernen (nur für Administratoren)

list_project_members

Projektmitglieder mit Rollen auflisten

list_platforms

Verfügbare Plattformnamen für die Projekterstellung auflisten

list_error_groups

Parameter

Typ

Standard

Beschreibung

project_id

number

-

Nach Projekt-ID filtern

status

string

"open"

"open", "resolved", "muted" oder "all"

error_type

string

-

Nach exaktem Fehlertyp filtern

error_message

string

-

Nach Fehlermeldung filtern (Teilübereinstimmung)

from

string

-

Startdatum (ISO 8601)

to

string

-

Enddatum (ISO 8601)

limit

number

20

Maximale Ergebnisse (1-100)

offset

number

0

N Ergebnisse für Paginierung überspringen

Gibt total_count für die Paginierung zurück.

list_reports

Parameter

Typ

Standard

Beschreibung

group_id

number

-

Nach Fehlergruppen-ID filtern

project_id

number

-

Nach Projekt-ID filtern

from

string

-

Startdatum (ISO 8601)

to

string

-

Enddatum (ISO 8601)

limit

number

20

Maximale Ergebnisse (1-100)

offset

number

0

N Ergebnisse für Paginierung überspringen

Gibt total_count für die Paginierung zurück.

Parameter

Typ

Standard

Beschreibung

query

string

erforderlich

Volltext-Suchanfrage

project_id

number

-

Nach Projekt-ID filtern

limit

number

20

Maximale Ergebnisse (1-100)

resolve_error_group / unresolve_error_group / unmute_error_group

Diese Werkzeuge erfordern nur die group_id (number).

mute_error_group

Parameter

Typ

Standard

Beschreibung

group_id

number

erforderlich

Die Fehlergruppen-ID

muted_until

string

-

Optionales ISO 8601-Datum, bis zu dem die Gruppe stummgeschaltet ist

add_note

Parameter

Typ

Standard

Beschreibung

group_id

number

erforderlich

Die Fehlergruppen-ID

content

string

erforderlich

Der Inhalt der Notiz

delete_note

Parameter

Typ

Standard

Beschreibung

group_id

number

erforderlich

Die Fehlergruppen-ID

note_id

number

erforderlich

Die zu löschende Notiz-ID

create_project (nur für Administratoren)

Parameter

Typ

Standard

Beschreibung

name

string

erforderlich

Projektname (eindeutig)

platform

string

erforderlich

Plattformname — verwenden Sie list_platforms, um Optionen zu sehen

timezone

string

"UTC"

Projektzeitzone (z. B. "America/New_York")

update_project (nur für Administratoren)

Parameter

Typ

Standard

Beschreibung

project_id

number

erforderlich

Die zu aktualisierende Projekt-ID

name

string

-

Neuer Projektname

timezone

string

-

Neue Zeitzone

delete_project / regenerate_project_token (nur für Administratoren)

Diese Werkzeuge erfordern nur die project_id (number).

add_project_member / remove_project_member (nur für Administratoren)

Parameter

Typ

Standard

Beschreibung

project_id

number

erforderlich

Die Projekt-ID

user_id

number

erforderlich

Die Benutzer-ID zum Hinzufügen/Entfernen

get_project_token / list_project_members

Diese Werkzeuge erfordern nur die project_id (number).

list_platforms

Keine Parameter. Gibt alle verfügbaren Plattformnamen zurück.

Installation

cd telebugs-mcp
bun install

Build

# Build for current platform
bun run build

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

Konfiguration

Variable

Beschreibung

Standard

TELEBUGS_DB_PATH

Pfad zur Telebugs SQLite-Datenbank

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

PORT

HTTP-Port, auf dem gelauscht werden soll

3100

MCP_BASE_URL

Öffentliche Basis-URL für OAuth-Metadaten und Redirects

aus Anfrage abgeleitet

OAUTH_ACCESS_TOKEN_TTL_SECONDS

Lebensdauer für MCP OAuth-Zugriffstoken

43200

TELEBUGS_SECRET_KEY_BASE

Telebugs Rails secret_key_base, erforderlich für Telebugs-Anmelde-Links

nicht gesetzt

Lokal ausführen

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

Bereitstellung

Einzelne Binärdatei

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

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

systemd-Dienst

Kopieren Sie telebugs-mcp.service nach /etc/systemd/system/:

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

Status prüfen:

systemctl status telebugs-mcp

Nginx Reverse Proxy (Optional)

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-Konfiguration

Für OAuth-fähige MCP-Clients konfigurieren Sie nur die Server-URL. Der Client erkennt die OAuth-Metadaten, öffnet eine Browser-Anmeldeseite und versucht es erneut mit dem ausgestellten Bearer-Token:

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

Wenn der MCP-Server hinter einem Reverse Proxy läuft, setzen Sie MCP_BASE_URL auf den öffentlichen HTTPS-Ursprung:

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

Die OAuth-Anmeldeseite wird von React mit CSS gerendert, das von Buns Tailwind-Plugin generiert wurde. Sie entspricht der Telebugs-Anmeldeseite, zeigt den anfragenden Client sowie den Redirect-Ursprung an und erfordert eine explizite Genehmigung, bevor ein Autorisierungscode ausgestellt wird. Sie akzeptiert Ihre Telebugs-E-Mail/Passwort, verifiziert gegen denselben bcrypt users.password_digest, den Telebugs verwendet. Sie kann auch einen Telebugs-Anmelde-Link von /session/transfers/... akzeptieren, wenn TELEBUGS_SECRET_KEY_BASE gesetzt ist, damit der MCP-Server den active_record/signed_id-Verifiziererschlüssel von Rails ableiten und das signierte ID-Payload validieren kann.

Wenn Telebugs mit RAILS_MASTER_KEY anstelle von SECRET_KEY_BASE konfiguriert ist, lesen Sie den Wert aus der Telebugs-App mit bin/rails runner 'puts Rails.application.secret_key_base' aus und übergeben Sie ihn als TELEBUGS_SECRET_KEY_BASE an diesen Server.

Für Clients, die MCP OAuth noch nicht unterstützen, funktioniert weiterhin ein statisches Bearer-Token. Fügen Sie dies zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) hinzu:

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

API-Schlüssel abrufen

  1. Melden Sie sich bei Ihrer Telebugs-Instanz an

  2. Gehen Sie zu Benutzer → Kontoeinstellungen → Sicherheit

  3. Kopieren Sie Ihren API-Schlüssel

Sicherheit

  • Nur-Admin-Operationen für die Projektverwaltung erzwungen (Erstellen, Aktualisieren, Löschen, Token-Neugenerierung, Mitgliedschaft)

  • Schreiboperationen auf Fehlerstatusänderungen, Notizen und Projektverwaltung beschränkt

  • Alle Mutationen auf die Projektmitgliedschaften des Benutzers beschränkt

  • API-Schlüssel werden nur gegen aktive Benutzer validiert

  • OAuth-Zugriffstoken sind kurzlebig und werden vom MCP-Server im Arbeitsspeicher gehalten

  • Alle Abfragen nach den Projektmitgliedschaften des Benutzers gefiltert

  • Parametrisierte Abfragen (keine SQL-Injection)

Gesundheitsprüfung

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

Lizenz

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